home *** CD-ROM | disk | FTP | other *** search
/ Tripas 2 / TRIPAS 002.iso / NAM.exe / GAME.CON < prev    next >
Encoding:
Text File  |  1998-05-13  |  139.5 KB  |  5,165 lines

  1. // GAME.CON v1.11 for NAPALM
  2. // (c) Heikki & Tuomo Korva 1998
  3.   
  4. include DEFAULT1.CON
  5. include DEFAULT2.CON
  6.  
  7. define AITA 3831
  8. define ILMAMIINA 58
  9. define PIINA 172
  10. define BLUEMAINFLAG 1819
  11. define REDMAINFLAG 1818
  12. define DEADVC 2045
  13. define BEASTFLAG 1880
  14. define FIREVASE 1390
  15. define SNAKEYE 1391
  16. define PIKKUSAVU 2328
  17. define SHARK 1549
  18. define ENSPA 1921
  19. define DEMOMAN 1739
  20. define RADIOMAN 1679
  21. define MEDIC 1726
  22. define GRUNT 2149
  23. define CLAYMORE 3644
  24. define CLAYMORE2 3645
  25. define SIRPALE 1553
  26. define LIEKITYS 1889
  27. define MORTAR10 2700
  28. define MORTAR11 2701
  29. define MORTAR12 2702
  30. define MORTAR13 2703
  31. define MORTAR14 2704
  32. define MORTAR15 2705
  33. define MORTAR16 2706
  34. define NUOLI 1919
  35. define VALEDOD 2725
  36. define GI 1305
  37. define F105 2675
  38. define AMMUS 3796
  39. define WORDZ 606
  40. define OHJUS3 2680
  41. define CO1 3690
  42. define CO2 3692
  43. define SMOKE 1551
  44. define HUPROB 3633
  45. define DEADTANK 2730
  46. define HUEYDOWN 3675
  47.  
  48. action AITA1 0 1 1 1 1
  49. useractor notenemy AITA TOUGH AITA1
  50. cstat 17
  51. enda
  52.  
  53.  
  54.  
  55. action KOPTERI 0 2 5 1 8
  56. action CHOPSPIN 0 5 1 1 10
  57.  
  58. move ALASP2 100 750
  59. ai AICHOPDOWN CHOPSPIN ALASP2 spin 
  60.  
  61. useractor notenemy HUEYDOWN 0 KOPTERI 
  62.         sizeat 48 48
  63.  
  64.         ifaction KOPTERI
  65.         {
  66.         soundonce HELICOP_IDLE
  67.         ifpdistl 26000 { globalsound HK1 ai AICHOPDOWN }
  68.         }
  69.  
  70.         ifai AICHOPDOWN
  71.         {
  72.         ifrnd 196 spawn SMALLSMOKE
  73.  
  74.         iffloordistl 5
  75.                 {
  76.                 stopsound HK1
  77.                 stopsound HELICOP_IDLE
  78.                 spawn EXPLOSION2
  79.                 spawn BURNING2
  80.                 spawn SIRPALE spawn SIRPALE spawn SIRPALE
  81.                 debris SCRAP1 25
  82.                 debris SCRAP6 25
  83.                 debris SCRAP2 25
  84.                 globalsound LASERTRIP_EXPLODE
  85.                 globalsound LASERTRIP_EXPLODE
  86.                 killit
  87.                 }
  88.         }
  89.  
  90. enda
  91.  
  92.  
  93.  
  94. move apers9 0 -400
  95. action BOUNDAPERS 0 1 1 1 1
  96. useractor notenemy ILMAMIINA 0 BOUNDAPERS apers9 faceplayer  
  97. sizeat 40 40 
  98. ifaction BOUNDAPERS
  99.         {
  100.         ifcount 8 
  101.                 { 
  102.                 sound INTRUDER_ALERT 
  103.                 spawn EXPLOSION2
  104.                 debris SCRAP6 9
  105.                 debris SCRAP2 9
  106.                 hitradius 4500 20 30 50 90
  107.                 killit
  108.                 } 
  109.         }
  110. enda
  111.  
  112.  
  113. action HI 0 1 1 1 1
  114. useractor notenemy HUPROB 0 HI
  115. {
  116. ifaction HI { 
  117.               sizeat 48 48 
  118.               ifspritepal 4 {
  119.                                 cstat 17
  120.                                 soundonce HELICOP_IDLE
  121.                                 ifpdistl 3000 { spritepal 5 stopsound HELICOP_IDLE }
  122.                             }
  123.  
  124.               ifspritepal 5 {
  125.                                
  126.                                soundonce GENAMB6
  127.                                ifrnd 5 { stopsound GENAMB6 sound SOMETHINGFROZE resetcount spritepal 6 }
  128.                             }
  129.  
  130.               ifspritepal 6 { ifcount 1500 { sound ALIEN_TALK1 cstat 0 spritepal 7 resetcount } }
  131.  
  132.               ifspritepal 7 { ifcount 70 soundonce HELICOP_IDLE }
  133.             }
  134. }
  135. enda
  136.  
  137. action TANKKIPALAA 0 7 1 1 14
  138. useractor notenemy DEADTANK 0 TANKKIPALAA
  139. ifaction TANKKIPALAA { cstat 1 sizeat 38 38 soundonce FIRE_CRACKLE }
  140. enda
  141.  
  142. action CO11 0 1 1 1 1
  143. action CO12 0 2 1 1 15
  144. action CO13 0 1 1 1 1
  145. action CO14 0 2 1 1 15
  146. action CO15 0 2 1 1 15
  147. useractor notenemy CO1 0 CO11
  148.  
  149. ifaction CO11
  150. {
  151. cstat 1
  152. sizeat 42 42
  153. ifpdistl 2048
  154.                 {
  155.                 ifspritepal 10 { sound M1 action CO12 }
  156.                 ifspritepal 11 { sound M4 action CO14 }
  157.                 ifspritepal 12 { sound M6 action CO12 }
  158.                 ifspritepal 13 { ifcount 100 { sound M27 action CO15 } }
  159.                 }
  160.  
  161. }
  162.  
  163. ifaction CO15 { ifactioncount 47 action CO13 }
  164. ifaction CO12 { ifactioncount 70 action CO13 }
  165. ifaction CO14 { ifactioncount 100 action CO13 }
  166.  
  167. ifaction CO13
  168. {
  169. ifpdistl 1024
  170.         { ifhitspace
  171.                 { 
  172.                    ifspritepal 10 { sound M1 action CO12 }
  173.                    ifspritepal 11 { sound M4 action CO14 }
  174.                    ifspritepal 12 { sound M6 action CO12 }
  175.                    ifspritepal 13 { sound M27 action CO15 }
  176.                 }
  177.         }
  178. }
  179. enda
  180.  
  181. action CO21 0 1 1 1 1
  182. action CO22 0 2 1 1 15
  183. action CO23 0 1 1 1 1
  184. action CO24 0 2 1 1 15
  185. action CO25 0 2 1 1 15
  186. action CO26 0 2 1 1 15
  187. useractor notenemy CO2 0 CO21
  188.  
  189. ifaction CO21
  190. {
  191. cstat 1
  192. sizeat 42 42
  193. ifpdistl 2048
  194.                 {
  195.                 ifspritepal 10 { ifcount 50 { sound M2 action CO22 } }
  196.                 ifspritepal 11 { sound M7 action CO24 }
  197.                 ifspritepal 12 { sound M22 action CO25 }
  198.                 ifspritepal 13 { sound M25 action CO24 }
  199.                 ifspritepal 14 { sound M26 action CO24 }
  200.                 ifspritepal 15 { sound M28 action CO26 }
  201.                 }
  202.  
  203. }
  204.  
  205. ifaction CO22 { ifactioncount 37 action CO23 }
  206. ifaction CO24 { ifactioncount 43 action CO23 }
  207. ifaction CO25 { ifactioncount 49 action CO23 }
  208. ifaction CO26 { ifactioncount 66 action CO23 }
  209.  
  210. ifaction CO23
  211. {
  212. ifpdistl 1024
  213.         { ifhitspace
  214.                 { 
  215.                    ifspritepal 10 { sound M2 action CO22 }
  216.                    ifspritepal 11 { sound M7 action CO24 }
  217.                    ifspritepal 12 { sound M22 action CO25 }
  218.                    ifspritepal 13 { sound M25 action CO24 }
  219.                    ifspritepal 14 { sound M26 action CO24 }
  220.                    ifspritepal 15 { sound M28 action CO26 }
  221.                 }
  222.         }
  223. }
  224. enda
  225.  
  226.  
  227.  
  228. action SANA
  229. action SANA2
  230. useractor notenemy WORDZ 0 SANA
  231. ifaction SANA
  232. {
  233. cstat 32768
  234. ifp palive {
  235. ifcansee
  236. {
  237. ifpdistl 800
  238.         {
  239.         ifspritepal 10 { quote 151 action SANA2 }
  240.         ifspritepal 11 { ifhitspace { quote 4 action SANA2 } }
  241.         }
  242. } } }
  243.  
  244. ifaction SANA2
  245. { ifpdistg 800 action SANA }
  246. enda
  247.  
  248.  
  249. action PII 0 1 1 1 1
  250. useractor notenemy PIINA 0 PII
  251. {
  252. ifaction PII
  253.               {
  254.                cstat 32768
  255.                
  256.                ifspritepal 10 {
  257.                                ifpdistl 500 { ifp palive { addphealth -200 } }
  258.                               }
  259.  
  260.                ifspritepal 11
  261.                         { ifpdistl 700 { ifcount 20 { addphealth -1 palfrom 16 16 ifrnd 50 sound DUKE_LONGTERM_PAIN2 resetcount } } }  
  262.  
  263.               }
  264. }
  265. enda
  266.  
  267.  
  268.  
  269. action COMM1 0 1 1 1 1
  270. action COMM2 3 1 1 1 1 
  271. action COMM3 4 1 1 1 1
  272.  
  273. action AG 6 1 1 1 1
  274. action MG 7 1 1 1 1
  275. action SN 8 1 1 1 1
  276. action GR 9 1 1 1 1
  277. action PM 10 1 1 1 1
  278. action ME 11 1 1 1 1
  279. action SQL 12 1 1 1 1
  280. action RM 13 1 1 1 1
  281.  
  282. useractor notenemy NUOLI 0 0
  283.         ifaction 0 { sizeat 39 39 cstat 0 action COMM1 }
  284.  
  285.         ifaction COMM1
  286.         {
  287.         ifpinventory GET_SCUBA 60 { } else { spritepal 1 ifcount 1 killit }
  288.         ifpinventory GET_SCUBA 70 { } else { spritepal 0 ifcount 1 killit }
  289.         ifpinventory GET_SCUBA 10 { } else { spritepal 8 ifcount 1 killit } 
  290.  
  291.         ifpinventory GET_SCUBA 65 { } else { action COMM2 spritepal 1 }
  292.         ifpinventory GET_SCUBA 75 { } else { action COMM2 spritepal 0 }
  293.         
  294.         ifpinventory GET_SCUBA 64 { } else { action COMM3 spritepal 1 }
  295.         ifpinventory GET_SCUBA 74 { } else { action COMM3 spritepal 0 }
  296.  
  297.         ifpinventory GET_SCUBA 80 { } else { action AG }
  298.         ifpinventory GET_SCUBA 81 { } else { action MG }
  299.         ifpinventory GET_SCUBA 82 { } else { action SN }
  300.         ifpinventory GET_SCUBA 83 { } else { action GR }
  301.         ifpinventory GET_SCUBA 84 { } else { action PM }
  302.         ifpinventory GET_SCUBA 85 { } else { action ME }
  303.         ifpinventory GET_SCUBA 86 { } else { action SQL }
  304.         ifpinventory GET_SCUBA 87 { } else { action RM }
  305.         ifcount 1 killit
  306.         }
  307.         
  308.         ifaction COMM2 
  309.         { ifcount 1 killit }
  310.         
  311.         ifaction COMM3
  312.         { ifcount 1 killit }
  313.  
  314.         ifaction AG
  315.         { ifcount 1 killit }
  316.  
  317.         ifaction MG
  318.         { ifcount 1 killit }
  319.         
  320.         ifaction SN
  321.         { ifcount 1 killit }
  322.  
  323.         ifaction GR
  324.         { ifcount 1 killit }
  325.  
  326.         ifaction PM
  327.         { ifcount 1 killit }
  328.  
  329.         ifaction ME
  330.         { ifcount 1 killit }
  331.  
  332.         ifaction SQL
  333.         { ifcount 1 killit }
  334.  
  335.         ifaction RM
  336.         { ifcount 1 killit }
  337.  
  338.         enda
  339.  
  340.  
  341.  
  342.  
  343.  
  344. state krhsound
  345.     ifrnd 85 sound MORTAR1 
  346.     else ifrnd 85 sound INC12   
  347.     else sound INC13 
  348. ends
  349.  
  350. state krhx
  351.    ifonwater { spawn WATERSPLASH2 killit break }
  352.    else
  353.     {
  354.     spawn EXPLOSION2
  355.     sound BOMB2
  356.     debris SCRAP4 20 debris SCRAP3 15
  357.     hitradius 4500 25 50 100 200
  358.     stopsound MORTAR1 stopsound INC12 stopsound INC13
  359.     ifrnd 128 spawn BURNING2
  360.     killit
  361.     }
  362. ends
  363.  
  364. state krhx2
  365.     spawn EXPLOSION2
  366.     sound BOMB2
  367.     debris SCRAP4 20 debris SCRAP3 15
  368.     hitradius 4500 25 50 100 200
  369.     killit
  370. ends
  371.  
  372. move m1 150 -700
  373. move m2 150 0
  374. move m3
  375. move m4 150 700
  376.  
  377. action KH1 0 1 1 1 2
  378.  
  379. ai AIKRH1 KH1 m1 geth getv
  380. ai AIKRH2 KH1 m2 geth getv
  381. ai AIKRH3 KH1 m3 geth getv
  382. ai AIKRH4 KH1 m4 geth getv
  383.  
  384. useractor notenemy MORTAR10 0 0 geth getv
  385. ifaction 0 { sizeat 48 48 ai AIKRH1 }
  386. ifai AIKRH1 { cstat 264 ifceilingdistl 20 { ifoutside { cstat 32768 ai AIKRH2 } else { state krhx2 } } }
  387. ifai AIKRH2 { ifnotmoving killit else ifactioncount 70 { state krhsound ai AIKRH3 } }
  388. ifai AIKRH3 { ifactioncount 8 { cstat 256 ai AIKRH4 } }
  389. ifai AIKRH4 { iffloordistl 20 state krhx }
  390. enda
  391.  
  392. useractor notenemy MORTAR11 0 0 geth getv
  393. ifaction 0 { sizeat 48 48 ai AIKRH1 }
  394. ifai AIKRH1 { cstat 264 ifceilingdistl 20 { ifoutside { cstat 32768 ai AIKRH2 } else { state krhx2 } } }
  395. ifai AIKRH2 { ifnotmoving killit else ifactioncount 115 { state krhsound ai AIKRH3 } }
  396. ifai AIKRH3 { ifactioncount 8 { cstat 256 ai AIKRH4 } }
  397. ifai AIKRH4 { iffloordistl 20 state krhx }
  398. enda
  399.  
  400. useractor notenemy MORTAR12 0 0 geth getv
  401. ifaction 0 { cstat 264 sizeat 48 48 ai AIKRH1 }
  402. ifai AIKRH1 { ifceilingdistl 20 { ifoutside { cstat 32768 ai AIKRH2 } else {  state krhx2 } } }
  403. ifai AIKRH2 { ifnotmoving killit else ifactioncount 160 { state krhsound ai AIKRH3 } }
  404. ifai AIKRH3 { ifactioncount 8 { cstat 256 ai AIKRH4 } }
  405. ifai AIKRH4 { iffloordistl 20 state krhx }
  406. enda
  407.  
  408. useractor notenemy MORTAR13 0 0 geth getv
  409. ifaction 0 { cstat 264 sizeat 48 48 ai AIKRH1 }
  410. ifai AIKRH1 { ifceilingdistl 20 { ifoutside { cstat 32768 ai AIKRH2 } else { state krhx2 } } }
  411. ifai AIKRH2 { ifnotmoving killit else ifactioncount 205 { state krhsound ai AIKRH3 } }
  412. ifai AIKRH3 { ifactioncount 8 { cstat 256 ai AIKRH4 } }
  413. ifai AIKRH4 { iffloordistl 20 state krhx }
  414. enda
  415.  
  416. useractor notenemy MORTAR14 0 0 geth getv
  417. ifaction 0 { cstat 264 sizeat 48 48 ai AIKRH1 }
  418. ifai AIKRH1 { ifceilingdistl 20 { ifoutside { cstat 32768 ai AIKRH2 } else { state krhx2 } } }
  419. ifai AIKRH2 { ifnotmoving killit else ifactioncount 250 { state krhsound ai AIKRH3 } }
  420. ifai AIKRH3 { ifactioncount 8 { cstat 256 ai AIKRH4 } }
  421. ifai AIKRH4 { iffloordistl 20 state krhx }
  422. enda
  423.  
  424. useractor notenemy MORTAR15 0 0 geth getv
  425. ifaction 0 { cstat 264 sizeat 48 48 ai AIKRH1 }
  426. ifai AIKRH1 { ifceilingdistl 20 { ifoutside { cstat 32768 ai AIKRH2 } else { state krhx2 } } }
  427. ifai AIKRH2 { ifnotmoving killit else ifactioncount 295 { state krhsound ai AIKRH3 } }
  428. ifai AIKRH3 { ifactioncount 8 { cstat 256 ai AIKRH4 } }
  429. ifai AIKRH4 { iffloordistl 20 state krhx }
  430. enda
  431.  
  432. useractor notenemy MORTAR16 0 0 geth getv
  433. ifaction 0 { cstat 264 sizeat 48 48 ai AIKRH1 }
  434. ifai AIKRH1 { ifceilingdistl 20 { ifoutside { cstat 32768 ai AIKRH2 } else { state krhx2 } } }
  435. ifai AIKRH2 { ifnotmoving killit else ifactioncount 340 { state krhsound ai AIKRH3 } }
  436. ifai AIKRH3 { ifactioncount 8 { cstat 256 ai AIKRH4 } }
  437. ifai AIKRH4 { iffloordistl 20 state krhx }
  438. enda
  439.  
  440.  
  441. move liekkinop 400 20
  442. action LIEKITYS1 2 10 1 1 5
  443. useractor notenemy LIEKITYS 0 LIEKITYS1 liekkinop geth getv
  444. ifaction LIEKITYS1
  445. cstat 384
  446. sizeat 10 10
  447. ifactioncount 1 sizeat 11 11
  448. ifactioncount 2 sizeat 12 12
  449. ifactioncount 3 sizeat 13 13
  450. ifactioncount 4 sizeat 14 14
  451. ifactioncount 5 sizeat 15 15
  452. ifactioncount 6 sizeat 16 16
  453. ifactioncount 7 sizeat 17 17
  454. ifactioncount 8 sizeat 18 18
  455. ifactioncount 9 sizeat 19 19
  456.  
  457.  
  458. ifactioncount 10 killit
  459. ifnotmoving { ifrnd 128 { spawn BURNING }
  460.               spawn SHRINKEREXPLOSION hitradius 1024 10 20 40 60 killit
  461.             }
  462. }
  463. enda
  464.  
  465.  
  466. state cs
  467. spawn CLAYMORE2 spawn CLAYMORE2 spawn CLAYMORE2 spawn CLAYMORE2
  468. ends
  469.  
  470. move eiliiku
  471. move claymoremv 800 0
  472.                       
  473. useractor notenemy CLAYMORE 0 0 eiliiku
  474. { state cs state cs state cs state cs state cs killit }
  475. enda
  476.  
  477. action TYHJA 0 1 1 1 1
  478.  
  479. move SADE 100 0
  480. move SADE2 150 0
  481. move SADE3 500 0
  482.  
  483. ai CM1 TYHJA SADE randomangle
  484. ai CM2 TYHJA SADE2 randomangle
  485. ai CM3 TYHJA SADE3 randomangle
  486.  
  487. state cls
  488. spawn EXPLOSION2 hitradius 3072 10 20 40 70
  489. ends
  490.  
  491. useractor notenemy CLAYMORE2 0 0 claymoremv getv geth
  492.  
  493. ifaction 0
  494. {
  495.   ifcount 1 { ifrnd 30 { ai CM1 } }
  496.   else ifcount 2 { ifrnd 60 { ai CM2 } }
  497.   else ifcount 3 { ai CM3 } 
  498. }
  499.  
  500. ifai CM1
  501. {
  502. ifrnd 128 { spawn SIRPALE }
  503. state cls killit
  504. }
  505.  
  506. ifai CM2
  507. {
  508.   ifcount 1 { ifrnd 128 { spawn SIRPALE state cls killit } }
  509.   else ifcount 2 { state cls killit }
  510. }
  511.  
  512. ifai CM3
  513. {
  514.   ifcount 1 { ifrnd 128 { spawn SIRPALE state cls killit } }
  515.   else ifcount 2 { state cls killit }
  516. }
  517.  
  518. enda
  519.  
  520.  
  521.  
  522. action FB 0 4 1 1 1
  523. action FB2 4 4 1 1 1
  524.  
  525. move LEN0 1 -42
  526. move LEN1 300 -320
  527. move LEN2 300 -240
  528. move LEN3 300 -160
  529. move LEN4 300 -80
  530. move LEN5 300 0
  531. move LEN6 300 80
  532. move LEN7 300 160
  533. move LEN8 300 240
  534. move LEN9 300 320
  535. move LEN10 20
  536. move LEN11
  537.  
  538. ai AICRANU0 FB2 LEN0 randomangle
  539. ai AICRANU1 FB2 LEN1 randomangle
  540. ai AICRANU2 FB2 LEN2 randomangle
  541. ai AICRANU3 FB2 LEN3 randomangle
  542. ai AICRANU4 FB2 LEN4 randomangle
  543. ai AICRANU5 FB2 LEN5 randomangle
  544. ai AICRANU6 FB LEN6 randomangle
  545. ai AICRANU7 FB LEN7 randomangle
  546. ai AICRANU8 FB LEN8 randomangle
  547. ai AICRANU9 FB LEN9 randomangle
  548. ai AICRANU10 FB LEN10 randomangle
  549. ai AICRANU11 FB LEN11 randomangle
  550.  
  551. state cranu0
  552. { ifcansee ai AICRANU1 else killit }
  553. ends
  554.  
  555. state cranu1
  556. {
  557.         move LEN1 geth getv
  558.         ifactioncount 4 ai AICRANU2
  559. }
  560. ends
  561.  
  562. state cranu2
  563. {
  564.         move LEN2 geth getv
  565.         iffloordistl 8 ai AICRANU11
  566.         else ifactioncount 4 ai AICRANU3
  567. }
  568. ends
  569.  
  570. state cranu3
  571. {
  572.    move LEN3 geth getv
  573.    iffloordistl 8 {  ifonwater ai AICRANU10
  574.                      else ai AICRANU11 }
  575.         else ifactioncount 4 ai AICRANU4
  576. }
  577. ends
  578.  
  579. state cranu4
  580. {
  581.         move LEN4 geth getv
  582.         iffloordistl 8 {  ifonwater ai AICRANU10
  583.                           else ai AICRANU11 }
  584.         else ifactioncount 4 ai AICRANU5
  585. }
  586. ends
  587.  
  588. state cranu5
  589. {
  590.         move LEN5 geth getv
  591.         iffloordistl 8 {  ifonwater ai AICRANU10
  592.                           else ai AICRANU11 }
  593.         else ifactioncount 4 ai AICRANU6
  594. }
  595. ends
  596.  
  597. state cranu6
  598. {
  599.         move LEN6 geth getv
  600.         iffloordistl 8 {  ifonwater ai AICRANU10
  601.                           else ai AICRANU11 }
  602.         else ifactioncount 4 ai AICRANU7
  603. }
  604. ends
  605.  
  606. state cranu7
  607. {
  608.         move LEN7 geth getv
  609.         iffloordistl 8 {  ifonwater ai AICRANU10
  610.                           else ai AICRANU11 }
  611.         else ifactioncount 4 ai AICRANU8
  612. }
  613. ends
  614.  
  615. state cranu8
  616. {
  617.         move LEN8 geth getv
  618.         iffloordistl 8 {  ifonwater ai AICRANU10
  619.                           else ai AICRANU11 }
  620.         else ifactioncount 4 ai AICRANU9
  621. }
  622. ends
  623.  
  624. state cranu9
  625. {
  626.         move LEN9 geth getv
  627.         iffloordistl 8 {  ifonwater ai AICRANU10
  628.                           else ai AICRANU11
  629.                        }
  630.         else ai AICRANU9
  631. }
  632. ends
  633.  
  634. state cranu10
  635. { spawn WATERSPLASH2 killit } 
  636. ends
  637.  
  638. state cranu11
  639. {
  640.       ifrnd 64 spawn BURNING
  641.       killit
  642. }
  643. ends
  644.  
  645. useractor notenemy SIRPALE 0 0
  646. {
  647. ifaction 0 { sizeat 48 48 ai AICRANU0 }
  648. else { 
  649.           ifai AICRANU0 state cranu0
  650.           else ifai AICRANU1 state cranu1
  651.           else ifai AICRANU2 state cranu2
  652.           else ifai AICRANU3 state cranu3
  653.           else ifai AICRANU4 state cranu4
  654.           else ifai AICRANU5 state cranu5
  655.           else ifai AICRANU6 state cranu6
  656.           else ifai AICRANU7 state cranu7
  657.           else ifai AICRANU8 state cranu8
  658.           else ifai AICRANU9 state cranu9
  659.           else ifai AICRANU10 state cranu10
  660.           else ifai AICRANU11 state cranu11
  661.      }
  662. }
  663. enda
  664.  
  665. state genericshrunkcode
  666. ends
  667.         
  668. state sharkspawner
  669.        spawn SHARK spawn SHARK spawn SHARK spawn SHARK 
  670.        spawn SHARK spawn SHARK spawn SHARK spawn SHARK 
  671.        spawn SHARK spawn SHARK spawn SHARK spawn SHARK
  672.        ifrnd 128 { spawn SHARK spawn SHARK spawn SHARK }
  673.        ifrnd 64 { spawn SHARK spawn SHARK spawn SHARK }
  674. ends
  675.  
  676. state smokespawner
  677.        spawn SMOKE spawn SMOKE spawn SMOKE spawn SMOKE
  678.        spawn SMOKE spawn SMOKE spawn SMOKE spawn SMOKE
  679.        spawn SMOKE spawn SMOKE spawn SMOKE spawn SMOKE
  680. ends
  681.  
  682. action VALO0 0 1 1 1 1
  683. action VALOJUOVA 2247 1 7 1 1
  684. move VALO1 2 -42
  685. move VALO3 2 -70
  686. move VALO2 511
  687.  
  688. ai AIVALO VALO0 VALO1 faceplayer
  689. ai AIVALO3 VALO0 VALO3 faceplayer
  690. ai AIVALO2 VALOJUOVA VALO2 faceplayer
  691.  
  692. state valostate3
  693. iffloordistl 35 { } else { ifcansee ai AIVALO2 else killit }
  694. ends
  695.  
  696. state valostate
  697.      iffloordistl 22 { } else { ifcansee ai AIVALO2 else killit }
  698. ends
  699.  
  700. state valostate2
  701.     cstat 0
  702.     move VALO2 geth getv
  703.     ifnotmoving { killit } 
  704.     else ifpdistl 1500 { killit }
  705.     else ifcount 100 { killit }
  706. ends
  707.  
  708. action ASHARK0 0 1 1 1 1
  709. action ASHARK1 0 1 1 1 1
  710. action ASHARK2 0 1 1 1 1
  711. action ACD 0 1 1 1 1
  712. action ACD2 2 1 1 1 1
  713.  
  714. move YLESPAIN 0 -25
  715. move POISPAIN  -150 -50
  716. move SHARKVEL1 0  -27
  717. move SHARKVEL2 240  0
  718. move SHARKVEL3 200  0
  719. move SHARKVEL4 0  100
  720. move SHARKVEL5 650  0
  721. move SHARKVEL6 0  -200
  722. move SHARKVEL7 0  1350
  723. move SHARKVEL8 400  0
  724.  
  725. ai AIRAJ1 ASHARK2 SHARKVEL3 randomangle
  726. ai AISUUNTAUS ASHARK2 YLESPAIN faceplayer
  727. ai AISUUNTAUS2 ASHARK2 POISPAIN faceplayer
  728. ai AISHARK1 ASHARK1 SHARKVEL1 faceplayer
  729. ai AISHARK2 ASHARK2 SHARKVEL2 randomangle
  730. ai AISHARK3 ASHARK2 SHARKVEL2 randomangle
  731. ai AICD ACD SHARKVEL2 randomangle
  732.  
  733. state suuntaustate
  734. {
  735.  iffloordistl 22 { ifnotmoving killit
  736.                    else ifcount 50 killit }
  737.  
  738.               else   {
  739.                        ifnotmoving killit
  740.                        else ai AISUUNTAUS2
  741.                      }
  742. }
  743. ends
  744.  
  745. state suuntaustate2
  746. {
  747. move POISPAIN geth getv
  748.  
  749. ifceilingdistl 120 { 
  750.                     ifoutside { spawn TRANSPORTERBEAM killit } 
  751.                     else killit
  752.                    }
  753. else { ifnotmoving { ifoutside { spawn TRANSPORTERBEAM killit } 
  754.                       else killit
  755.                    }
  756.      }
  757. }
  758. ends
  759.  
  760. state sharkstate1
  761. { ifceilingdistl 100 { ai AISHARK2 resetcount } }
  762. ends
  763.  
  764. state sharkstate2
  765. { ifrnd 3 
  766.         { spawn CEILINGSTEAM killit } 
  767.   else 
  768.         { ifcount 220 { spawn CEILINGSTEAM killit } }
  769. }
  770. ends
  771.  
  772. state sharkstate3
  773. { ifrnd 1 { ifrnd 32 { spawn CEILINGSTEAM killit } } }
  774. ends
  775.  
  776.  
  777.  
  778.  
  779. state rajstate1
  780. ifcount 10 { ifrnd 128 { spawn EXPLOSION2 hitradius 1024 8 16 32 64 killit } }
  781. else ifcount 20 { spawn EXPLOSION2 hitradius 1024 8 16 32 64 killit }
  782. ends
  783.  
  784. state cdstate
  785. ifcount 5 { ifrnd 51 { spawn EXPLOSION2 hitradius 3500 20 40 70 100 killit } }
  786. else ifcount 15 { ifrnd 51 { spawn EXPLOSION2 hitradius 3500 20 40 70 100 killit } }
  787. else ifcount 25 { ifrnd 51 { spawn EXPLOSION2 hitradius 3500 20 40 70 100 killit } }
  788. else ifcount 35 { spawn EXPLOSION2 hitradius 3500 20 40 70 100 killit } 
  789. ends
  790.  
  791. useractor notenemy SHARK 0 ASHARK0
  792. ifaction ASHARK0 
  793. ifspawnedby RUBBERCAN { cstat 32768 ai AICD } 
  794. else ifspawnedby TRANSPORTERBEAM { ai AISHARK1 }
  795. else ifspawnedby SPACESHUTTLE { cstat 32768 ai AISHARK3 }
  796. else ifspawnedby LIZTROOPDUCKING { sizeat 43 43 cstat 0 ai AIVALO }
  797. else ifspawnedby LIZMAN { sizeat 43 43 cstat 0 ai AIVALO3 }
  798. else ifspawnedby EXPLOSION2 { cstat 32768 ai AIRAJ1 }
  799. else ifspawnedby RADIOMAN { cstat 0 ai AISUUNTAUS }
  800. else killit
  801. }
  802. else 
  803.         {
  804.           ifai AISHARK1 state sharkstate1
  805.           else ifai AIRAJ1 state rajstate1
  806.           else ifai AISUUNTAUS state suuntaustate
  807.           else ifai AISUUNTAUS2 state suuntaustate2
  808.           else ifai AIVALO state valostate
  809.           else ifai AIVALO2 state valostate2
  810.           else ifai AIVALO3 state valostate3
  811.           else ifai AISHARK2 state sharkstate2
  812.           else ifai AISHARK3 state sharkstate3
  813.           else ifai AICD state cdstate
  814.         }
  815. enda
  816.  
  817. action ASMOKE0
  818.  
  819. ai AISMOKEYLOS ASMOKE0 YLESPAIN faceplayer
  820. ai AISMOKEHAJO ASMOKE0 SHARKVEL2 randomangle
  821. ai AISMOKEALAS ASMOKE0 SHARKVEL7 faceplayer
  822.  
  823. useractor notenemy SMOKE 0 0
  824. ifaction 0 { ifspawnedby SMOKE ai AISMOKEALAS else ai AISMOKEYLOS }
  825.  
  826. ifai AISMOKEYLOS
  827. { ifceilingdistl 100 { ai AISMOKEHAJO resetcount } }
  828.  
  829. ifai AISMOKEHAJO
  830. {
  831.   ifrnd 4 { spawn SMOKE killit } 
  832.   else { ifcount 220 { spawn SMOKE killit } }
  833. }
  834.  
  835. ifai AISMOKEALAS
  836. { iffloordistl 10 { ifonwater killit else { sound LADY_SCREAM spawn SHRINKEREXPLOSION killit } } }
  837. enda
  838.  
  839.  
  840. move RESPAWN_ACTOR_FLAG
  841.  
  842. state headhitstate
  843. // wackplayer
  844. ends
  845.  
  846. action EXPBARRELFRAME         0   2   1   1   15
  847. actor EXPLODINGBARREL 26
  848.     fall
  849.     ifaction EXPBARRELFRAME
  850.     {
  851.         ifactioncount 2
  852.         {
  853.             hitradius 1024 WEAKEST WEAK MEDIUMSTRENGTH TOUGH
  854.             spawn EXPLOSION2
  855.             debris SCRAP2 2
  856.             sound PIPEBOMB_EXPLODE
  857.             killit
  858.         }
  859.         break
  860.     }
  861.     ifsquished
  862.     {
  863.         debris SCRAP1 5
  864.         killit
  865.         break
  866.     }
  867.     ifhitweapon
  868.         action EXPBARRELFRAME
  869. enda
  870.  
  871. action BURNING_FLAME    0   12   1   1   2
  872. action BURNING_FLAME5   0   13   1   1   13
  873.  
  874. move BURNING_VELS 
  875.  
  876. state burningstate
  877.  
  878.     ifspawnedby FEM3
  879.             {
  880.                 spritepal 8
  881.                 ifactioncount 2 { ifpdistl 3500 { addphealth -1 palfrom 32 32 ifrnd 32 sound DUKE_LONGTERM_PAIN2 resetactioncount } }
  882.                 else ifcount 412 killit 
  883.             }
  884.  
  885.     ifrnd 60 spawn SMALLSMOKE 
  886.     ifgapzl 16 break
  887.     ifpdistg 10240 break
  888.     ifcount 128
  889.     {
  890.         ifspawnedby TIRE
  891.         {
  892.             ifactioncount 512
  893.             {
  894.                 sizeto 16 16
  895.                 killit
  896.             }
  897.             ifrnd 16 sizeto 64 48
  898.         }
  899.         else
  900.         {
  901.             sizeto 8 8 sizeto 8 8
  902.             ifactioncount 192 killit
  903.         }
  904.     }
  905.     else
  906.     {
  907.         ifmove 0 move BURNING_VELS
  908.  
  909.         ifspawnedby BOX
  910.             { sizeto 32 32 ifcount 32 { spawn SMALLSMOKE killit } }
  911.         else ifspawnedby TREE1 sizeto 96 96
  912.         else ifspawnedby TREE2 sizeto 96 96
  913.         else ifspawnedby APLAYER { sizeto 40 40 sizeto 40 40 }
  914.         else sizeto 52 52
  915.         ifactor BURNING { ifp palive ifpdistl 844 ifrnd 32 ifcansee { soundonce DUKE_LONGTERM_PAIN addphealth -1 palfrom 24 16 } }
  916.     }
  917. ends
  918.  
  919. actor BURNING WEAK BURNING_FLAME
  920.     cstat 128
  921.     state burningstate
  922. enda
  923.  
  924. actor BURNING2 WEAK BURNING_FLAME5
  925.     state burningstate cstat 130 
  926. enda
  927.  
  928. actor TOILETWATER 
  929. ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifcanseetarget 
  930. { quote 155 addinventory GET_BOOTS 100 killit }  
  931. enda
  932.  
  933. actor RUBBERCAN
  934.  
  935. fall
  936. ifspawnedby APLAYER { } else { 
  937.         ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifcanseetarget         
  938.                           { 
  939.                         ifpinventory GET_BOOTS 62 { } else { quote 149 addinventory GET_BOOTS 64 killit }                                               
  940.                         ifpinventory GET_BOOTS 64 { } else { quote 149 addinventory GET_BOOTS 66 killit }
  941.                         ifpinventory GET_BOOTS 66 { } else { break }
  942.                         addinventory GET_BOOTS 62 quote 149 killit 
  943.                           }
  944.                             }                 
  945. ifcount 100 {
  946.               state sharkspawner
  947.               sound PIPEBOMB_EXPLODE debris SCRAP6 8 debris SCRAP2 8
  948.               spawn EXPLOSION2
  949.               killit }
  950.  
  951.  
  952. enda
  953.  
  954. actor STEAM  
  955. cstat 32768
  956. ifpdistl 20000 {
  957.         
  958.           ifspritepal 10 {
  959.                           ifcount 1000 {
  960.                           ifrnd 51 sound WAR_AMBIENCE1
  961.                           else ifrnd 51 sound GENERIC_AMBIENCE1
  962.                           else ifrnd 51 sound KILLME
  963.                           else ifrnd 51 sound TURR_PAIN
  964.                           else ifrnd 51 sound TURR_DYING
  965.                           else ifrnd 51 sound BOS1_WALK
  966.                           resetcount
  967.                                         }
  968.                          }
  969.  
  970.            else ifcount 700 {
  971.                 resetcount
  972.                 ifrnd 18 sound WAR_AMBIENCE1
  973.                 else ifrnd 18 sound WAR_AMBIENCE2
  974.                 else ifrnd 18 sound WAR_AMBIENCE3
  975.                 else ifrnd 18 sound WAR_AMBIENCE4
  976.                 else ifrnd 18 sound WAR_AMBIENCE10
  977.                 else ifrnd 18 sound WARAMB1
  978.                 else ifrnd 18 sound WARAMB2
  979.                 else ifrnd 18 sound AAVE
  980.                 else ifrnd 18 sound WARAMB3
  981.                 else ifrnd 18 sound GENERIC_AMBIENCE13
  982.                 else ifrnd 18 sound GENERIC_AMBIENCE16
  983.                 else ifrnd 18 sound GENERIC_AMBIENCE17
  984.                 else ifrnd 18 sound SPACE_DOOR1
  985.                 else ifrnd 18 sound SPACE_DOOR2
  986.                              } 
  987.      }
  988. enda
  989.  
  990. action RUBCAN5 1 2 1 1 3
  991. move LENTO5 512
  992. actor HORSEONSIDE 100 0 LENTO5 randomangle 
  993.         ifaction 0 { cstat 32 sound AAVE action RUBCAN5 }
  994.         ifaction RUBCAN5 
  995.         {
  996.         ifpdistl 7092 { ifcount 8 { sound VIHELLYS spawn COLA resetcount } }
  997.         ifnotmoving killit
  998.         }
  999. enda
  1000.  
  1001. state minexplo
  1002. sound INTRUDER_ALERT debris SCRAP6 12 debris SCRAP2 12 spawn EXPLOSION2 hitradius 2048 30 50 80 120 killit break
  1003. ends
  1004.  
  1005. state minexplo2
  1006. sound SWITCH_ON spawn ILMAMIINA killit
  1007. ends
  1008.  
  1009. state minedead
  1010. sound LASERTRIP_ONWALL quote 102 killit break
  1011. ends
  1012.  
  1013.  
  1014. action APERS1 0 1 1 1 1
  1015. action APERS2 1 1 1 1 1
  1016. action APERZ  1 1 1 1 1
  1017. useractor notenemy FEM7 WEAK  
  1018. {
  1019.     sizeat 48 48 fall cstat 256
  1020.  
  1021.     ifhitweapon { ifwasweapon RADIUSEXPLOSION { state minexplo } }
  1022.     ifaction 0 action APERS1
  1023.      
  1024.     ifaction APERS1 
  1025.     { 
  1026.     ifpdistl 800 { sound SWITCH_ON action APERS2 }
  1027.     else ifpdistl 2800
  1028.         {
  1029.         ifpinventory GET_BOOTS 100 { } else { soundonce TURR_RECOG }
  1030.         ifpinventory GET_SCUBA 84 { } else { soundonce TURR_RECOG }
  1031.         }
  1032.         
  1033.     }
  1034.  
  1035.     ifaction APERS2 
  1036.     { 
  1037.             
  1038.       ifpdistg 800 { state minexplo2 }  
  1039.       else
  1040.       {
  1041.       ifpinventory GET_BOOTS 100 { } else { soundonce TURR_RECOG }
  1042.       ifpinventory GET_SCUBA 84 { } else { soundonce TURR_RECOG }
  1043.       }
  1044.       
  1045.       ifhitspace
  1046.       {
  1047.         ifpinventory GET_SCUBA 80 { } else { ifrnd 51 state minedead else state minexplo2 }
  1048.         ifpinventory GET_SCUBA 81 { } else { ifrnd 51 state minedead else state minexplo2 }
  1049.         ifpinventory GET_SCUBA 82 { } else { ifrnd 154 state minedead else state minexplo2 }
  1050.         ifpinventory GET_SCUBA 83 { } else { ifrnd 51 state minedead else state minexplo2 }
  1051.         ifpinventory GET_SCUBA 84 { } else { ifrnd 230 state minedead else state minexplo2 }
  1052.         ifpinventory GET_SCUBA 85 { } else { ifrnd 51 state minedead else state minexplo2 }
  1053.         ifpinventory GET_SCUBA 86 { } else { ifrnd 51 state minedead else state minexplo2 }
  1054.         ifpinventory GET_SCUBA 87 { } else { ifrnd 154 state minedead else state minexplo2 }
  1055.  
  1056.         ifrnd 128 { sound LASERTRIP_ONWALL quote 102 killit }
  1057.         else { state minexplo2 }
  1058.       }
  1059.     } 
  1060.  
  1061. }
  1062. enda
  1063.  
  1064. action PUTOA3 0 1 1 1 1
  1065. action PUTOA4 0 1 1 1 1
  1066.  
  1067. actor CEILINGSTEAM 
  1068.  
  1069. ifaction 0
  1070. { cstat 32768 action PUTOA3 }
  1071.  
  1072. ifaction PUTOA3
  1073. {
  1074. ifrnd 2
  1075.         { 
  1076.         ifrnd 70 
  1077.                 { 
  1078.                 ifrnd 128 sound INC10 else sound INC11
  1079.                 action PUTOA4   
  1080.                 }
  1081.         }
  1082. else action PUTOA3
  1083. }
  1084.  
  1085.  
  1086. ifaction PUTOA4
  1087. {
  1088. fall
  1089. iffloordistl 4
  1090.     {
  1091.        ifonwater { spawn WATERSPLASH2 killit break }
  1092.        else { 
  1093.             ifspawnedby SHARK { } else spawn NUKEBARREL
  1094.             spawn EXPLOSION2
  1095.             debris SCRAP4 25 debris SCRAP3 20
  1096.             hitradius 4500 25 50 100 200 
  1097.             ifrnd 128 sound EXP10 else sound EXP11
  1098.             ifrnd 128 spawn BURNING2 
  1099.             killit 
  1100.             }       
  1101.     }
  1102. }
  1103. enda
  1104.  
  1105.  
  1106.  
  1107. actor WATERBUBBLEMAKER 0 0 randomangle
  1108.     ifpdistl 3084 ifrnd 24 spawn WATERBUBBLE
  1109. enda
  1110.  
  1111. action BUBBLE
  1112. action CRACKEDBUBBLE    1
  1113. move BUBMOVE           -10 -36
  1114. move BUBMOVEFAST           -10 -52
  1115.  
  1116. actor WATERBUBBLE 0 BUBBLE BUBMOVE getv geth randomangle
  1117.  
  1118.     ifaction CRACKEDBUBBLE
  1119.     {
  1120.         ifinwater ifrnd 192 killit
  1121.         ifactioncount 7 killit
  1122.     }
  1123.     else
  1124.     {
  1125.         ifcount 4
  1126.         {
  1127.             ifrnd 192 move BUBMOVE getv geth randomangle
  1128.             else move BUBMOVEFAST getv geth randomangle
  1129.             resetcount
  1130.         }
  1131.  
  1132.         ifonwater
  1133.         {
  1134.             iffloordistl 8 action CRACKEDBUBBLE
  1135.         }
  1136.         else ifactioncount 40 action CRACKEDBUBBLE
  1137.     }
  1138. enda
  1139.  
  1140.  
  1141. move ENGINE_SMOKE 64 -64
  1142. move SMOKESHOOTOUT -192
  1143. move SMOKEVEL2 10 -18
  1144. move SMOKEVEL3 10 9
  1145.  
  1146. action SMOKEFRAMES 1317 8 1 1 18
  1147.  
  1148. actor SMALLSMOKE 0 SMOKEFRAMES
  1149.     ifmove 0
  1150.     {
  1151.         ifspawnedby RECON
  1152.             move SMOKESHOOTOUT geth
  1153.         else ifspawnedby SECTOREFFECTOR
  1154.             move ENGINE_SMOKE geth getv
  1155.         else ifspawnedby SHOTSPARK1 { spawn PIKKUSAVU killit }
  1156.         else ifspawnedby KNEE { spawn PIKKUSAVU killit }
  1157.         else ifspawnedby BURNING2 move SMOKEVEL2 geth getv randomangle
  1158.         else ifspawnedby BURNING move SMOKEVEL2 geth getv randomangle
  1159.         else ifspawnedby TRANSPORTERSTAR move SMOKEVEL2 geth getv randomangle
  1160.         else ifspawnedby OHJUS3 move SMOKEVEL3 geth getv randomangle
  1161.         else ifspawnedby CRYSTALAMMO move SMOKEVEL3 geth getv randomangle
  1162.         else move SMOKEVEL2 geth getv randomangle
  1163.  
  1164.     }
  1165.     ifpdistl 500 ifspawnedby RPG killit
  1166.     cstat 2
  1167.     ifactioncount 8 killit
  1168. enda
  1169.  
  1170. action SMOKEFRAMES2 1 4 1 1 6
  1171. useractor notenemy PIKKUSAVU 0 SMOKEFRAMES2
  1172. sizeat 20 20 cstat 130
  1173. ifactioncount 4 killit
  1174. enda
  1175.  
  1176. action BARREL_DENTING  2 2 1 1 6
  1177. action BARREL_DENTED   1
  1178. action BARREL_DENTED2  2
  1179.  
  1180. move SPAWNED_BLOOD
  1181.  
  1182. action PUTOA 0 1 1 1 1
  1183. action PUTOA2 109 1 1 1 1
  1184.  
  1185. actor NUKEBARRELDENTED 
  1186. ifaction 0 { cstat 32768 action PUTOA }
  1187. ifaction PUTOA
  1188. {
  1189.  
  1190. ifrnd 2 
  1191.         { 
  1192.         ifrnd 70 
  1193.                 { 
  1194.                 cstat 0 state krhsound action PUTOA2 
  1195.                 }
  1196.         }
  1197.  
  1198. else action PUTOA
  1199. }
  1200. ifaction PUTOA2
  1201. {
  1202. fall
  1203. iffloordistl 4
  1204.     {
  1205.        ifonwater { spawn WATERSPLASH2 killit break }
  1206.        else { spawn EXPLOSION2 sound BOMB2 debris SCRAP4 20 debris SCRAP3 15 hitradius 3200 25 50 100 200 ifrnd 128 spawn BURNING2 spawn NUKEBARREL killit } 
  1207.      }
  1208. }
  1209. enda
  1210.  
  1211. action HEKO  3575 2 5 1 3
  1212. action HEKO2 3575 2 5 1 3
  1213. move HEKONOP 175
  1214. actor ATOMICHEALTH 100 0 HEKONOP randomangle
  1215.         ifaction 0 { action HEKO }
  1216.         ifaction HEKO 
  1217.         { 
  1218.           soundonce HELICOP_IDLE
  1219.           ifpdistl 8000
  1220.                 { ifphealthl MAXPLAYERHEALTH 
  1221.                         {
  1222.                         ifrnd 96 { resetcount sound HK1 spawn FIRSTAID action HEKO2 }
  1223.                         else { resetcount sound HK2 spawn SIXPAK action HEKO2 }
  1224.                         } 
  1225.                   else 
  1226.                         {
  1227.                         ifrnd 128 { resetcount sound HK1 spawn FIRSTGUNSPRITE action HEKO2 }
  1228.                         else ifrnd 96 { resetcount sound HK2 spawn SHRINKERSPRITE action HEKO2 }
  1229.                         else ifrnd 32 { resetcount sound HK2 spawn RPGSPRITE action HEKO2 }
  1230.                         else action HEKO2
  1231.                         }
  1232.                 }
  1233.           ifnotmoving { stopsound HELICOP_IDLE killit }
  1234.         }
  1235.  
  1236.         ifaction HEKO2
  1237.         { 
  1238.           soundonce HELICOP_IDLE
  1239.           ifnotmoving { stopsound HELICOP_IDLE killit }
  1240.           ifcount 256 action HEKO
  1241.         }
  1242. enda
  1243.  
  1244. action CR 2361 1 1 1 1
  1245.  
  1246. useractor notenemy NUKEBARREL 
  1247.     fall
  1248.     ifaction 0 { sizeat 48 48 cstat 162 action CR }
  1249. enda
  1250.  
  1251. state burningbarrelcode
  1252.     fall
  1253.     ifcount 32
  1254.     {
  1255.         resetcount
  1256.         ifp palive ifpdistl 1480 ifp phigher
  1257.         {
  1258.             addphealth -1
  1259.             palfrom 16 16
  1260.             ifrnd 96 sound DUKE_LONGTERM_PAIN
  1261.         }
  1262.     }
  1263.     ifhitweapon
  1264.     {
  1265.         sound VENT_BUST
  1266.         debris SCRAP1 10
  1267.         spawn BURNING
  1268.         killit
  1269.     }
  1270. ends
  1271.  
  1272. actor FIREBARREL state burningbarrelcode enda
  1273.  
  1274. state ohjus2
  1275. spawn EXPLOSION2
  1276. sound BOMB2
  1277. ifspawnedby F105 { } else { debris SCRAP4 30 debris SCRAP3 20 }
  1278. hitradius 4096 25 50 100 200
  1279. ends
  1280.  
  1281. action OHJUS 1215 1 7 1 1 
  1282. move OHJUSNOP 800 700
  1283.  
  1284. actor FIREVASE 100 0 OHJUSNOP randomangle
  1285.         ifaction 0
  1286.         { sound OHJUSLENTO action OHJUS }
  1287.  
  1288.         ifaction OHJUS
  1289.         {
  1290.         ifcount 1 { spawn SMALLSMOKE resetcount }
  1291.         ifnotmoving { state ohjus2 killit }
  1292.         iffloordistl 8 
  1293.                 {
  1294.                     {
  1295.                     ifonwater { spawn WATERSPLASH2 killit break }
  1296.                     else { state ohjus2 ifrnd 128 spawn BURNING2 spawn NUKEBARREL killit } 
  1297.                     }
  1298.                 }
  1299.         }
  1300. enda
  1301.  
  1302. action OHJUSS 1214 1 7 1 1 
  1303. move OHJUSNOP2 800 1000
  1304.  
  1305. useractor notenemy SNAKEYE 100 0 OHJUSNOP2 randomangle
  1306.         ifaction 0
  1307.         { sizeat 48 48 sound OHJUSLENTO action OHJUSS }
  1308.  
  1309.         ifaction OHJUSS
  1310.         {
  1311.         ifcount 1 { spawn SMALLSMOKE resetcount }
  1312.         ifnotmoving { state ohjus2 killit }
  1313.         iffloordistl 8 
  1314.                 {
  1315.                     {
  1316.                     ifonwater { spawn WATERSPLASH2 killit break }
  1317.                     else { state ohjus2 ifrnd 128 spawn BURNING2 killit } 
  1318.                     }
  1319.                 }
  1320.         }
  1321. enda
  1322.  
  1323. action OHJUSX 1 1 1 1 1 
  1324. move OHJUSNOP3 0 -250
  1325.  
  1326. useractor notenemy OHJUS3 100 0 OHJUSNOP3 faceplayer
  1327.         ifaction 0
  1328.         { sizeat 48 48 sound AAVE action OHJUSX }
  1329.  
  1330.         ifaction OHJUSX
  1331.         {
  1332.         ifcount 1 { spawn SMALLSMOKE resetcount }
  1333.         ifnotmoving killit
  1334.         ifceilingdistl 50 killit
  1335.         }
  1336. enda
  1337.  
  1338.  
  1339.  
  1340.  
  1341. action SHRINKERFRAMES 235 19 1 1 4
  1342. action FLAMER2 235 19 1 1 3
  1343. action SMOKE1 2134 6 1 1 85
  1344. action ILMO15 2133 10 1 -1 50
  1345.  
  1346. action SMOKEHAIHTUU 2124 10 1 1 50
  1347. action SHRINKERFRAMES2 0 1 1 1 1
  1348.  
  1349. actor SHRINKEREXPLOSION 1
  1350.     ifaction 0
  1351.     {
  1352.       ifspawnedby LIEKITYS action FLAMER2
  1353.       else ifspawnedby SMOKE
  1354.                 {
  1355.                  sizeto 4096 4096
  1356.                  ifrnd 64 { cstat 14 } else ifrnd 64 { cstat 10 }
  1357.                  else ifrnd 64 { cstat 6 } else { cstat 2 }
  1358.                  action ILMO15
  1359.                 }
  1360.       else ifspawnedby APLAYER action SHRINKERFRAMES
  1361.       else action SHRINKERFRAMES2
  1362.     }
  1363.  
  1364.     ifaction SHRINKERFRAMES2
  1365.     { debris SCRAP6 8 debris SCRAP2 8 hitradius 3300 22 44 88 150 action SHRINKERFRAMES }
  1366.  
  1367.     ifaction SHRINKERFRAMES 
  1368.     { ifactioncount 19 killit }
  1369.  
  1370.     ifaction FLAMER2
  1371.     { ifactioncount 19 killit }
  1372.  
  1373.     ifaction SMOKE1
  1374.     { ifactioncount 54 action SMOKEHAIHTUU }
  1375.                 
  1376.     ifaction ILMO15
  1377.     { ifactioncount 10 action SMOKE1 }
  1378.            
  1379.     ifaction SMOKEHAIHTUU
  1380.     { ifactioncount 10 killit }
  1381.  
  1382. enda
  1383.  
  1384. action EXPLOSION 0 20 1 1 4
  1385. action NALLI 1725 6 1 1 3 
  1386. action EXPLOD1 742 16 1 1 4
  1387. action EXPLOD2 760 22 1 1 4
  1388.  
  1389.  
  1390. actor EXPLOSION2 1
  1391.  
  1392. ifaction 0
  1393. {
  1394. ifspawnedby APLAYER action NALLI
  1395. else ifspawnedby COLA { spawn SIRPALE spawn SHARK action EXPLOSION }
  1396. else ifspawnedby LIZMANJUMP { spawn SHARK spawn SHARK spawn SHARK action EXPLOSION }
  1397. else ifspawnedby HUEYDOWN { spawn SHARK spawn SHARK spawn SHARK spawn SHARK spawn SHARK action EXPLOSION }
  1398. else ifspawnedby NAPALM { spawn SIRPALE spawn SHARK action EXPLOSION }
  1399. else ifspawnedby TRIPBOMB { spawn CLAYMORE killit }
  1400. else ifspawnedby HEAVYHBOMB { spawn SIRPALE hitradius 3800 20 30 60 100 action EXPLOSION } 
  1401. else ifspawnedby SHARK
  1402.         {
  1403.           cstat 0
  1404.           ifrnd 85 action EXPLOD1
  1405.           else ifrnd 85 action EXPLOD2
  1406.           else action EXPLOSION  
  1407.         }
  1408. else ifspawnedby CLAYMORE2
  1409.         {
  1410.           ifrnd 85 action EXPLOD1
  1411.           else ifrnd 85 action EXPLOD2
  1412.           else action EXPLOSION  
  1413.         }
  1414. else ifspawnedby CEILINGSTEAM
  1415. { spawn SIRPALE spawn SIRPALE spawn SHARK spawn SHARK action EXPLOSION }
  1416. else action EXPLOSION
  1417. }
  1418.  
  1419.  
  1420. ifaction EXPLOSION
  1421.     {
  1422.     ifspawnedby COLA sizeto 4096 4096
  1423.     ifspawnedby NAPALM sizeto 4096 4096
  1424.     ifspawnedby SHARK sizeto 4096 4096
  1425.     ifspawnedby FIREVASE sizeto 4096 4096
  1426.     ifspawnedby CRYSTALAMMO cstat 32768
  1427.     ifspawnedby SHRINKEREXPLOSION cstat 32768
  1428.     ifspawnedby TRANSPORTERSTAR cstat 32768 
  1429.     ifactioncount 20 killit
  1430.     }
  1431. ifaction NALLI
  1432.     { cstat 2 spritepal 2 ifactioncount 6 killit }
  1433.  
  1434. ifaction EXPLOD1 { ifactioncount 16 killit }
  1435.  
  1436. ifaction EXPLOD2 { ifactioncount 22 killit }
  1437.  
  1438. enda
  1439.  
  1440. actor EXPLOSION2BOT 1 EXPLOSION
  1441.     ifspawnedby FIREVASE sizeto 4096 4096
  1442.     ifspawnedby CRYSTALAMMO cstat 32768
  1443.     ifspawnedby SHRINKEREXPLOSION cstat 32768
  1444.     ifspawnedby TRANSPORTERSTAR cstat 32768 
  1445.     ifactioncount 20 killit
  1446. enda
  1447.  
  1448.  
  1449. move flaredown 0 5
  1450. action TRAN 1985 6 1 1 300
  1451. action TRANS1 0 1 1 1 1
  1452. actor TRANSPORTERSTAR 0 0 flaredown randomangle
  1453.  
  1454. ifaction 0 action TRANS1
  1455.  
  1456. ifaction TRANS1
  1457. {
  1458.   ifspawnedby FREEZEBLAST { spawn LIEKITYS killit }
  1459.   else ifspawnedby CRYSTALAMMO action TRAN
  1460.   else ifspawnedby APLAYER action TRAN
  1461.   else { killit break }
  1462. }
  1463.  
  1464. ifaction EXPLOD1
  1465. { ifactioncount 16 killit }
  1466.  
  1467. ifaction EXPLOD2
  1468. { ifactioncount 22 killit }
  1469.  
  1470. ifaction TRAN
  1471. {
  1472. ifrnd 83 spawn EXPLOSION2
  1473. ifcount 1 { spawn SMALLSMOKE resetcount }
  1474. iffloordistl 50 killit
  1475. ifactioncount 6 killit
  1476. }         
  1477. enda
  1478.  
  1479. actor TRANSPORTERBEAM
  1480. ifspawnedby SHARK { spawn SHARK killit }
  1481. else ifcount 1 killit
  1482. enda
  1483.  
  1484. state getcode    
  1485.     sound DUKE_GET
  1486.     palfrom 16 0 32
  1487.     ifrespawn
  1488.     {
  1489.         move RESPAWN_ACTOR_FLAG
  1490.         spawn RESPAWNMARKERRED
  1491.         cstat 32768
  1492.     }
  1493.     else killit
  1494. ends
  1495.  
  1496.  
  1497. state getweaponcode
  1498.     palfrom 32 0 32
  1499.     ifgotweaponce 1 break
  1500.     ifrespawn
  1501.     {
  1502.         move RESPAWN_ACTOR_FLAG
  1503.         spawn RESPAWNMARKERRED
  1504.         cstat 32768
  1505.     }
  1506.     else killit
  1507. ends
  1508.  
  1509.  
  1510. state respawnit
  1511.     ifcount RESPAWNITEMTIME { spawn TRANSPORTERSTAR move 0 cstat 0 sound TELEPORTER }
  1512. ends
  1513.  
  1514. state quikget
  1515.     sound DUKE_GET
  1516.     palfrom 16 0 32
  1517.     killit
  1518. ends
  1519.  
  1520. state quikweaponget
  1521.     palfrom 32 0 32
  1522.     ifgotweaponce 1 break
  1523.     killit
  1524. ends
  1525.  
  1526. actor STEROIDS
  1527.     fall
  1528.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  1529.     else ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE
  1530.         ifpinventory GET_STEROIDS STEROID_AMOUNT ifcanseetarget
  1531.     {
  1532.         addweapon DEVISTATOR_WEAPON 0
  1533.         addinventory GET_STEROIDS STEROID_AMOUNT 
  1534.         quote 37 state getcode
  1535.         ifspawnedby STEROIDS state getcode
  1536.         else state quikget
  1537.     }
  1538. enda
  1539.  
  1540. actor HEATSENSOR
  1541.     fall
  1542.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  1543.     else ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE ifpinventory GET_HEATS HEAT_AMOUNT
  1544.         ifcanseetarget
  1545.     {
  1546.         addinventory GET_HEATS HEAT_AMOUNT quote 101 state getcode
  1547.         ifspawnedby HEATSENSOR state getcode
  1548.         else state quikget
  1549.     }
  1550. enda
  1551.  
  1552. actor BOOTS
  1553.     fall
  1554.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  1555.     else ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE ifpinventory GET_BOOTS BOOT_AMOUNT
  1556.         ifcanseetarget
  1557.     {
  1558.         addinventory GET_BOOTS 30 quote 148
  1559.         ifspawnedby BOOTS state getcode
  1560.         else state quikget
  1561.     }
  1562. enda
  1563.  
  1564. actor SHIELD
  1565.     fall
  1566.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  1567.     else ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE ifpinventory GET_SHIELD SHIELD_AMOUNT
  1568.         ifcanseetarget
  1569.     {
  1570.         addinventory GET_SHIELD SHIELD_AMOUNT quote 38
  1571.         ifspawnedby SHIELD state getcode
  1572.         else state quikget
  1573.     }
  1574. enda
  1575.  
  1576. action AMM0 0 1 1 1 1
  1577. action M2HB 1 1 1 1 1
  1578. action M2HBONCE 1 1 1 1 1
  1579. action M60ONCE 0 1 1 1 1
  1580. action VCBOX 4 1 1 1 1
  1581. action KRHAMMO 5 1 1 1 1
  1582.  
  1583. useractor notenemy FEM4 
  1584.     fall
  1585.     sizeat 48 48 
  1586.     ifaction 0
  1587.     { ifspritepal 11 action M2HBONCE
  1588.       else ifspritepal 10 action M2HB
  1589.       else ifspritepal 14 { cstat 32768 action M60ONCE }
  1590.       else ifspritepal 12 action VCBOX
  1591.       else ifspritepal 9 action KRHAMMO
  1592.       else action AMM0 }
  1593.  
  1594.     ifaction KRHAMMO
  1595.     {
  1596.     ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE ifcanseetarget
  1597.     { quote 181 addinventory GET_BOOTS 127 }
  1598.     }
  1599.  
  1600.     ifaction M60ONCE
  1601.     {
  1602.     ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE ifcanseetarget
  1603.     { sound DUKE_GET addinventory GET_BOOTS 126 killit }
  1604.     }
  1605.     
  1606.     ifaction M2HB
  1607.     {
  1608.     ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE ifcanseetarget
  1609.     { quote 157 addinventory GET_BOOTS 120 }
  1610.     }
  1611.  
  1612.     ifaction M2HBONCE
  1613.     {
  1614.     ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE ifcanseetarget
  1615.     { quote 157 sound DUKE_GET addinventory GET_BOOTS 120 killit }
  1616.     }
  1617.     
  1618.     ifaction AMM0
  1619.     {
  1620.     ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE ifcanseetarget
  1621.     {      
  1622.      ifrnd 96 { sound DUKE_GET addweapon PISTOL_WEAPON 80 quote 65 killit }
  1623.      else ifrnd 96 { sound DUKE_GET addammo PISTOL_WEAPON 180 quote 65 killit } 
  1624.      else ifrnd 96 { sound DUKE_GET addammo SHOTGUN_WEAPON 50 quote 69 killit }
  1625.      else ifrnd 96 { sound DUKE_GET addammo CHAINGUN_WEAPON 150 quote 63 killit }
  1626.      else { sound DUKE_GET quote 77 killit }
  1627.     }
  1628.     }
  1629.  
  1630.     ifaction VCBOX
  1631.     {
  1632.     ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE ifcanseetarget
  1633.     {      
  1634.      ifrnd 96 { ifphealthl MAXPLAYERHEALTH { sound DUKE_GET addphealth 100 quote 176 killit } else { sound DUKE_GET quote 77 killit } }
  1635.      else ifrnd 128 { ifrnd 128 { sound DUKE_GET sound DUKE_HIT_STRIPPER2 quote 177 killit } else { sound DUKE_GET sound DUKE_HIT_STRIPPER2 quote 178 killit } }
  1636.      else ifrnd 64 { sound DUKE_GET spawn NUKEBARRELLEAKED sound LASERTRIP_ARMING quote 154 killit }
  1637.      else ifrnd 96 { sound DUKE_GET addweapon HANDBOMB_WEAPON 4 quote 55 killit }
  1638.      else { sound DUKE_GET quote 77 killit }
  1639.     }
  1640.     }
  1641.  
  1642. enda
  1643.  
  1644. action ODOTUS 0 1 1 1 1
  1645. action LUUPPI 0 1 1 1 1
  1646.  
  1647. useractor notenemy SATELLITE 0 LUUPPI
  1648.     cstat 32768
  1649.       
  1650. ifaction LUUPPI
  1651. {
  1652. // fireteam
  1653.  
  1654.     ifspritepal 9
  1655.     {
  1656.     ifp palive ifpdistl 400 ifcanseetarget
  1657.     { addammo PISTOL_WEAPON -48 addinventory GET_SHIELD -50 action ODOTUS }
  1658.     else ifcount 8 killit 
  1659.     }
  1660.  
  1661. // a-gunner
  1662.     else ifspritepal 10 
  1663.     {
  1664.     ifp palive ifpdistl 1024 ifcanseetarget
  1665.     {
  1666.     quote 160
  1667.     addinventory GET_SCUBA 80
  1668.     addinventory GET_BOOTS 140
  1669.  
  1670.     addweapon HANDBOMB_WEAPON 2
  1671.     addinventory GET_SHIELD 100
  1672.     addammo PISTOL_WEAPON 50
  1673.     action ODOTUS
  1674.     } }
  1675.  
  1676. // machine gunner
  1677.     else ifspritepal 11 
  1678.     {
  1679.     ifp palive ifpdistl 1024 ifcanseetarget
  1680.     {
  1681.     quote 161
  1682.     addinventory GET_SCUBA 81
  1683.     addinventory GET_BOOTS 141
  1684.  
  1685.     addweapon HANDBOMB_WEAPON 1
  1686.     addinventory GET_SHIELD 100
  1687.     addweapon CHAINGUN_WEAPON 450
  1688.     action ODOTUS
  1689.     } } 
  1690.  
  1691. // sniper
  1692.     else ifspritepal 12 
  1693.     {
  1694.     ifp palive ifpdistl 1024 ifcanseetarget
  1695.     {
  1696.     quote 162
  1697.     addinventory GET_SCUBA 82
  1698.     addinventory GET_BOOTS 142
  1699.  
  1700.     addinventory GET_HEATS HEAT_AMOUNT
  1701.     addweapon GROW_WEAPON 20  
  1702.     addweapon HANDBOMB_WEAPON 1
  1703.     addinventory GET_SHIELD 25
  1704.     action ODOTUS
  1705.     } } 
  1706.  
  1707. // grenadier
  1708.     else ifspritepal 13 
  1709.     {
  1710.     ifp palive ifpdistl 1024 ifcanseetarget
  1711.     {
  1712.     quote 163
  1713.     addinventory GET_SCUBA 83
  1714.     addinventory GET_BOOTS 143
  1715.  
  1716.     addweapon HANDBOMB_WEAPON 2
  1717.     addweapon TRIPBOMB_WEAPON 2
  1718.     addweapon SHRINKER_WEAPON 6
  1719.     addinventory GET_SHIELD 50
  1720.     action ODOTUS
  1721.     } } 
  1722.  
  1723. // point man
  1724.     else ifspritepal 14 
  1725.     {
  1726.     ifp palive ifpdistl 1024 ifcanseetarget
  1727.     {
  1728.     quote 164
  1729.     addinventory GET_SCUBA 84
  1730.     addinventory GET_BOOTS 144
  1731.  
  1732.     addweapon HANDBOMB_WEAPON 2
  1733.     addinventory GET_SHIELD 100
  1734.     addweapon SHOTGUN_WEAPON 40
  1735.     action ODOTUS
  1736.     } }
  1737.  
  1738. // medic
  1739.     else ifspritepal 15 
  1740.     {
  1741.     ifp palive ifpdistl 1024 ifcanseetarget
  1742.     {
  1743.     quote 165
  1744.     addinventory GET_SCUBA 85
  1745.     addinventory GET_BOOTS 145
  1746.  
  1747.     addweapon TRIPBOMB_WEAPON 1
  1748.     addinventory GET_FIRSTAID FIRSTAID_AMOUNT
  1749.     addinventory GET_SHIELD 100
  1750.     addammo PISTOL_WEAPON 80
  1751.     action ODOTUS
  1752.     } }
  1753.  
  1754. // squad leader
  1755.     else ifspritepal 16 
  1756.     {
  1757.     ifp palive ifpdistl 1024 ifcanseetarget
  1758.     {
  1759.     quote 166
  1760.     addinventory GET_SCUBA 86
  1761.     addinventory GET_BOOTS 146
  1762.  
  1763.     addinventory GET_HEATS HEAT_AMOUNT
  1764.     addweapon HANDBOMB_WEAPON 2
  1765.     addinventory GET_SHIELD 75
  1766.     addammo PISTOL_WEAPON 180
  1767.  
  1768.     action ODOTUS
  1769.     } }
  1770.  
  1771. // rifleman
  1772.     else ifspritepal 17 
  1773.     {
  1774.     ifp palive ifpdistl 1024 ifcanseetarget
  1775.     {
  1776.     quote 189
  1777.     addinventory GET_SCUBA 87
  1778.     addinventory GET_BOOTS 152
  1779.  
  1780.     addinventory GET_SHIELD 100
  1781.     addammo PISTOL_WEAPON 180
  1782.     action ODOTUS
  1783.     } }          
  1784.  
  1785.     
  1786.     else ifspritepal 0
  1787.     {            
  1788.     ifpinventory GET_SCUBA 60 { } else
  1789.     {
  1790.     ifp pshrunk { } else ifp palive ifcount 6 ifpdistl 1300 
  1791.     {
  1792.         quote 141 addinventory GET_SCUBA 70 
  1793.     } }
  1794.  
  1795.     ifpinventory GET_SCUBA 0 { } else
  1796.     {
  1797.     ifp pshrunk { } else ifp palive ifcount 6 ifpdistl 1300 
  1798.     {
  1799.         quote 141 addinventory GET_SCUBA 70 
  1800.     } } }
  1801. }
  1802.  
  1803. ifaction ODOTUS
  1804. { ifpdistg 2048 action LUUPPI }
  1805.  
  1806. enda
  1807.  
  1808.  
  1809. action HOLODUKE_FRAMES 0 4 1 1 8
  1810. actor HOLODUKE 0 HOLODUKE_FRAMES
  1811.     fall
  1812.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  1813.     else ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE ifpinventory GET_HOLODUKE HOLODUKE_AMOUNT
  1814.         ifcanseetarget
  1815.     {
  1816.         addinventory GET_HOLODUKE HOLODUKE_AMOUNT quote 51 state getcode
  1817.         ifspawnedby HOLODUKE state getcode
  1818.         else state quikget
  1819.     }
  1820. enda
  1821.  
  1822. actor JETPACK
  1823.     fall
  1824.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  1825.     else ifp pshrunk { } else ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifpinventory GET_JETPACK JETPACK_AMOUNT ifcanseetarget
  1826.     {
  1827.         addweapon DEVISTATOR_WEAPON 0
  1828.         addinventory GET_JETPACK JETPACK_AMOUNT quote 41 state getcode
  1829.         ifspawnedby JETPACK state getcode
  1830.         else state quikget
  1831.     }
  1832. enda
  1833.  
  1834. actor AMMO
  1835.     fall
  1836.     ifspawnedby APLAYER { ifp palive ifcount 72 ifpdistl RETRIEVEDISTANCE ifcanseetarget { addammo PISTOL_WEAPON 180 quote 65 sound DUKE_GET killit } }
  1837.     else ifmove RESPAWN_ACTOR_FLAG state respawnit    
  1838.     else ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE ifcanseetarget
  1839.     {
  1840.         addammo PISTOL_WEAPON PISTOLAMMOAMOUNT quote 65
  1841.         ifspawnedby AMMO state getcode
  1842.         else state quikget
  1843.     }
  1844. enda
  1845.  
  1846. action MINE_TRIGGERED 1 1 1 1 1
  1847. action MINE_FRAME 0 1 1 1 1
  1848.  
  1849. useractor notenemy MINE WEAK
  1850. {
  1851. fall sizeat 48 48 cstat 256
  1852.     ifhitweapon { ifwasweapon RADIUSEXPLOSION { spawn EXPLOSION2 debris SCRAP6 12 debris SCRAP2 12 sound INTRUDER_ALERT killit } }
  1853.  
  1854.     ifaction 0 { ifspawnedby APLAYER { ifcount 100 action MINE_FRAME } else { action MINE_FRAME } }
  1855.     
  1856.     ifaction MINE_FRAME 
  1857.     {
  1858.     ifpdistl 800 { sound SWITCH_ON action MINE_TRIGGERED }
  1859.     else ifpdistl 2800
  1860.         {
  1861.         ifpinventory GET_BOOTS 100 { } else { soundonce TURR_RECOG }
  1862.         ifpinventory GET_SCUBA 84 { } else { soundonce TURR_RECOG }
  1863.         }
  1864.     }
  1865.  
  1866. ifaction MINE_TRIGGERED 
  1867. {
  1868.     ifpinventory GET_BOOTS 100 { } else { soundonce TURR_RECOG }
  1869.     ifpinventory GET_SCUBA 84 { } else { soundonce TURR_RECOG }
  1870.     ifpdistg 800 { state minexplo }  
  1871.     
  1872.     ifhitspace
  1873.       {
  1874.         ifpinventory GET_SCUBA 80 { } else { ifrnd 51 state minedead else state minexplo }
  1875.         ifpinventory GET_SCUBA 81 { } else { ifrnd 51 state minedead else state minexplo }
  1876.         ifpinventory GET_SCUBA 82 { } else { ifrnd 154 state minedead else state minexplo }
  1877.         ifpinventory GET_SCUBA 83 { } else { ifrnd 51 state minedead else state minexplo }
  1878.         ifpinventory GET_SCUBA 84 { } else { ifrnd 230 state minedead else state minexplo }
  1879.         ifpinventory GET_SCUBA 85 { } else { ifrnd 51 state minedead else state minexplo }
  1880.         ifpinventory GET_SCUBA 86 { } else { ifrnd 51 state minedead else state minexplo }
  1881.         ifpinventory GET_SCUBA 87 { } else { ifrnd 154 state minedead else state minexplo }
  1882.         ifrnd 128 { sound LASERTRIP_ONWALL quote 102 killit }
  1883.         else { sound INTRUDER_ALERT debris SCRAP6 12 debris SCRAP2 12 spawn EXPLOSION2 hitradius 2048 30 50 80 120 killit }
  1884.       }
  1885.   }
  1886.  
  1887. }
  1888. enda
  1889.  
  1890. actor SHOTGUNAMMO
  1891.     fall
  1892.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  1893.     else ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE ifcanseetarget
  1894.     {
  1895.         addammo SHOTGUN_WEAPON SHOTGUNAMMOAMOUNT quote 69
  1896.         ifspawnedby SHOTGUNAMMO state getcode
  1897.         else state quikget
  1898.     }
  1899. enda
  1900.  
  1901. actor AMMOLOTS
  1902.     fall
  1903.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  1904.     else ifp pshrunk { } else ifp palive ifcount 6 ifpdistl RETRIEVEDISTANCE ifcanseetarget
  1905.     {
  1906.         addinventory GET_BOOTS 50 quote 147
  1907.         ifspawnedby AMMOLOTS state getcode
  1908.         else state quikget
  1909.     }
  1910. enda
  1911.  
  1912. move flareup 0 -175
  1913. action FLAREYLOS 0 1 1 1 1
  1914. actor CRYSTALAMMO 0 0 flareup randomangle
  1915. ifaction 0 { action FLAREYLOS }
  1916. ifaction FLAREYLOS
  1917.         {
  1918.         ifrnd 70 { spawn EXPLOSION2 }
  1919.         ifcount 1 { spawn SMALLSMOKE resetcount }
  1920.         ifceilingdistl 70 { spawn TRANSPORTERSTAR killit } 
  1921.         }
  1922. enda
  1923.  
  1924. actor BATTERYAMMO
  1925.     fall   
  1926.     ifspawnedby APLAYER { ifp palive ifcount 72 ifpdistl RETRIEVEDISTANCE ifcanseetarget { addammo CHAINGUN_WEAPON CHAINGUNAMMOAMOUNT quote 63 sound DUKE_GET killit } }
  1927.     else ifmove RESPAWN_ACTOR_FLAG state respawnit
  1928.     else ifp pshrunk { } else ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifcanseetarget
  1929.     {
  1930.         addammo CHAINGUN_WEAPON CHAINGUNAMMOAMOUNT quote 63
  1931.         ifspawnedby BATTERYAMMO state getcode
  1932.         else state quikget
  1933.     }
  1934. enda
  1935.  
  1936. action RUBCAN 211 2 1 1 3 
  1937. move LENTO 512
  1938. actor DEVISTATORAMMO 100 0 LENTO randomangle
  1939.         ifaction 0 { cstat 32 sound AAVE action RUBCAN }
  1940.         ifaction RUBCAN 
  1941.         {
  1942.         ifrnd 22 { spawn NAPALM } 
  1943.         ifnotmoving killit
  1944.         }
  1945. enda
  1946.  
  1947. action AMMUS0 0 1 7 1 1
  1948. move LENTO3 2000 2000
  1949. useractor notenemy AMMUS 100 0 LENTO3 randomangle
  1950.         sizeat 48 48
  1951.         ifaction 0 { action AMMUS0 }
  1952.         ifaction AMMUS0
  1953.         {
  1954.         iffloordistl 20 { spawn SHOTSPARK1 killit }
  1955.         ifnotmoving { spawn SHOTSPARK1 killit }
  1956.         }
  1957. enda
  1958.              
  1959. action THUD1 1 2 1 1 3
  1960. action THUD2 3 2 1 1 3
  1961. move LENTO2 400
  1962. useractor notenemy F105 100 0 LENTO2 randomangle
  1963.         ifaction 0 { sizeat 46 46 cstat 32 sound SPACE_DOOR4 action THUD1 }
  1964.  
  1965.         ifaction THUD1 
  1966.         {
  1967.         ifrnd 8 { action THUD2 } 
  1968.         ifrnd 2 { spawn SNAKEYE }
  1969.         ifnotmoving killit
  1970.         }
  1971.  
  1972.         ifaction THUD2 
  1973.         {
  1974.         ifcount 3 { sound SPACE_DOOR5 spawn AMMUS resetcount }
  1975.         ifactioncount 40 action THUD1
  1976.         ifnotmoving killit
  1977.         }
  1978. enda
  1979.  
  1980.  
  1981. actor HBOMBAMMO
  1982.     fall
  1983.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  1984.     else ifp pshrunk { } else ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifcanseetarget
  1985.     {
  1986.         ifgotweaponce 0 break // ( Multiplayer (mode 3) only )
  1987.  
  1988.         addweapon HANDBOMB_WEAPON 1 quote 55
  1989.         addammo HANDBOMB_WEAPON HANDBOMBBOX
  1990.  
  1991.         ifspawnedby HBOMBAMMO state getweaponcode
  1992.         else state quikweaponget
  1993.     }
  1994. enda
  1995.  
  1996. actor RPGSPRITE
  1997.     fall
  1998.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  1999.     else ifp pshrunk { } else ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifcanseetarget
  2000.     {
  2001.         ifgotweaponce 0 break // ( Multiplayer (mode 3) only )
  2002.  
  2003.         addweapon RPG_WEAPON RPGAMMOBOX quote 56
  2004.         ifspawnedby RPGSPRITE state getweaponcode
  2005.         else state quikweaponget
  2006.     }
  2007. enda
  2008.  
  2009. actor SHOTGUNSPRITE
  2010.     fall
  2011.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  2012.     else ifp pshrunk { } else ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifcanseetarget
  2013.     {
  2014.         {
  2015.           ifgotweaponce 0 break // Multiplayer only
  2016.           addweapon SHOTGUN_WEAPON SHOTGUNAMMOAMOUNT quote 57
  2017.         }
  2018.         ifspawnedby SHOTGUNSPRITE state getweaponcode
  2019.         else state quikweaponget
  2020.     }
  2021. enda
  2022.  
  2023.  
  2024.  
  2025. actor SIXPAK
  2026.     fall
  2027.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  2028.     else ifp pshrunk { } else ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifphealthl MAXPLAYERHEALTH ifcanseetarget
  2029.     {
  2030.         addphealth 30 quote 62
  2031.         ifspawnedby SIXPAK state getcode
  2032.         else state quikget
  2033.     }
  2034. enda
  2035.  
  2036. action POMMINPUDOTUS 0 1 1 1 1
  2037.  
  2038. actor COLA 100 0 POMMINPUDOTUS randomangle
  2039.         fall
  2040.         iffloordistl 2 
  2041.         {
  2042.         ifonwater { spawn WATERSPLASH2 killit break }
  2043.         else
  2044.                 {
  2045.                 spawn EXPLOSION2
  2046.                 debris SCRAP6 15 debris SCRAP2 15
  2047.                 sound BOMB2
  2048.                 hitradius 3750 25 50 90 170
  2049.                 ifrnd 32 spawn BURNING2
  2050.                 killit break
  2051.                 }
  2052.         }
  2053. enda
  2054.  
  2055. state btdead
  2056. quote 168 killit break
  2057. ends
  2058.     
  2059. action BT1 0 1 1 1 1
  2060. action BT2 0 1 1 1 1
  2061.  
  2062. useractor notenemy NUKEBARRELLEAKED
  2063. ifaction 0 { ifspawnedby FEM4 { cstat 32768 action BT2 } else { cstat 32768 action BT1 } }
  2064. ifaction BT1
  2065. { ifpdistl 1024 
  2066.         { ifrnd 2 
  2067.                 { ifrnd 120 
  2068.                     {
  2069.                         ifpinventory GET_SCUBA 80 { } else { ifrnd 51 state btdead else { sound LASERTRIP_ARMING quote 154 action BT2 } }
  2070.                         ifpinventory GET_SCUBA 81 { } else { ifrnd 51 state btdead else { sound LASERTRIP_ARMING quote 154 action BT2 } }
  2071.                         ifpinventory GET_SCUBA 82 { } else { ifrnd 154 state btdead else { sound LASERTRIP_ARMING quote 154 action BT2 } }
  2072.                         ifpinventory GET_SCUBA 83 { } else { ifrnd 51 state btdead else { sound LASERTRIP_ARMING quote 154 action BT2 } }
  2073.                         ifpinventory GET_SCUBA 84 { } else { ifrnd 230 state btdead else { sound LASERTRIP_ARMING quote 154 action BT2 } }
  2074.                         ifpinventory GET_SCUBA 85 { } else { ifrnd 51 state btdead else { sound LASERTRIP_ARMING quote 154 action BT2 } }
  2075.                         ifpinventory GET_SCUBA 86 { } else { ifrnd 51 state btdead else { sound LASERTRIP_ARMING quote 154 action BT2 } }
  2076.                         ifpinventory GET_SCUBA 87 { } else { ifrnd 154 state btdead else { sound LASERTRIP_ARMING quote 154 action BT2 } }
  2077.                         ifrnd 102 { quote 168 killit break } else { sound LASERTRIP_ARMING quote 154 action BT2 }
  2078.                     }
  2079.                 } 
  2080.         } 
  2081. }
  2082.  
  2083. ifaction BT2
  2084. { ifcount 25 { spawn EXPLOSION2 sound PIPEBOMB_EXPLODE hitradius 4000 25 50 100 200 debris SCRAP6 8 debris SCRAP2 8 killit } } 
  2085.  
  2086. enda
  2087.  
  2088. actor FIRSTAID
  2089.     fall
  2090.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  2091.     else ifp pshrunk { } else ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6
  2092.         ifpinventory GET_FIRSTAID FIRSTAID_AMOUNT ifcanseetarget
  2093.     {
  2094.         addinventory GET_FIRSTAID FIRSTAID_AMOUNT quote 3
  2095.  
  2096.         ifspawnedby FIRSTAID state getcode
  2097.         else state quikget
  2098.     }
  2099. enda
  2100.  
  2101. actor FIRSTGUNSPRITE
  2102.     fall
  2103.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  2104.     else ifp pshrunk { } else ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifcanseetarget
  2105.     {
  2106.         ifgotweaponce 0 break
  2107.  
  2108.         addweapon PISTOL_WEAPON 40 
  2109.         quote 28
  2110.         ifspawnedby FIRSTGUNSPRITE state getweaponcode
  2111.         else state quikweaponget
  2112.     }
  2113. enda
  2114.  
  2115. actor GROWSPARK GROWSPARK_WEAPON_STRENGTH
  2116. sound SNIPER killit
  2117. enda
  2118.  
  2119. actor GROWSPRITEICON
  2120. fall
  2121. ifmove RESPAWN_ACTOR_FLAG state respawnit
  2122. else ifp pshrunk { } else ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifcanseetarget
  2123. {
  2124.  ifgotweaponce 0 break
  2125.  addweapon GROW_WEAPON GROWCRYSTALAMMOAMOUNT quote 179
  2126.  ifspawnedby GROWSPRITEICON state getweaponcode
  2127.  else state quikweaponget
  2128. }
  2129. enda
  2130.  
  2131.  
  2132. actor TRIPBOMBSPRITE
  2133.     fall
  2134.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  2135.     else ifp pshrunk { } else ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifcanseetarget
  2136.     {
  2137.         ifgotweaponce 0 break
  2138.  
  2139.         addweapon TRIPBOMB_WEAPON 1
  2140.         quote 58
  2141.         ifspawnedby TRIPBOMBSPRITE state getweaponcode
  2142.         else state quikweaponget
  2143.     }
  2144. enda
  2145.  
  2146. actor CHAINGUNSPRITE
  2147.     fall
  2148.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  2149.     else ifp pshrunk { } else ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifcanseetarget
  2150.     {
  2151.         ifgotweaponce 0 break
  2152.  
  2153.         addweapon CHAINGUN_WEAPON 150 quote 54
  2154.         ifspawnedby CHAINGUNSPRITE state getweaponcode
  2155.         else state quikweaponget
  2156.     }
  2157. enda
  2158.  
  2159. action NOLLA
  2160. action OHJUSPAWNER 0 2 1 1 200
  2161. action AMMO8 0 1 1 1 1 
  2162. action NOAMMO 0 1 1 1 1
  2163. action SLAP 0 1 1 1 1
  2164. action M2HB2 1 1 1 1 1
  2165. action KKTESTAUS 0 1 1 1 1
  2166. action KUUSKYT 4 1 1 1 1
  2167. action SIXTY 0 1 1 1 1
  2168. action KKTESTAUS2 0 1 1 1 1
  2169. action ARTY 0 1 1 1 1
  2170. action KRH 2228 1 5 1 
  2171. action KRHTESTAUS 0 1 1 1 1
  2172.  
  2173. useractor notenemy SPACESHUTTLE
  2174.     fall
  2175.     cstat 32768
  2176.     ifaction 0
  2177.     { ifspritepal 11 { cstat 0 action M2HB2 }
  2178.       else ifspritepal 10 action SLAP
  2179.       else ifspritepal 12 action KUUSKYT
  2180.       else ifspritepal 9 action SIXTY
  2181.       else ifspritepal 7 action ARTY
  2182.       else ifspritepal 6 { cstat 0 spritepal 0 sizeat 37 37 action KRH }
  2183.       else ifspritepal 5 action OHJUSPAWNER
  2184.       else action AMMO8 }
  2185.  
  2186.     ifaction OHJUSPAWNER
  2187.     { 
  2188.       ifactioncount 6 { ifrnd 128 spawn OHJUS3 resetactioncount }
  2189.       ifcount 2048 action NOLLA
  2190.     }
  2191.  
  2192.     ifaction KRH
  2193.     {
  2194.       cstat 0
  2195.       ifp palive {
  2196.                  ifpdistl 380 {
  2197.                      ifpinventory GET_BOOTS 127 { quote 14 } else {
  2198.                          quote 180 cstat 32768 addinventory GET_BOOTS 128 action KRHTESTAUS
  2199.                                                           }
  2200.                               }
  2201.                   }
  2202.     }
  2203.  
  2204.     ifaction KRHTESTAUS
  2205.     {
  2206.     ifp palive {
  2207.                 ifpdistg 380 { addinventory GET_BOOTS 200 action KRH }                 
  2208.                }
  2209.     else action KRH
  2210.     }
  2211.  
  2212.     ifaction ARTY
  2213.     {
  2214.     ifcount 100
  2215.         { resetcount ifrnd 128 spawn SHARK }
  2216.     }
  2217.  
  2218.     ifaction M2HB2
  2219.     {
  2220.     cstat 16
  2221.     ifp palive 
  2222.         { ifpdistl 1500
  2223.                 {
  2224.                 ifpinventory GET_BOOTS 122 { } else { cstat 32768 }
  2225.                 ifpinventory GET_BOOTS 123 { } else { cstat 32768 }
  2226.                 }
  2227.         }
  2228.     }
  2229.  
  2230.     ifaction KUUSKYT
  2231.     {
  2232.     cstat 16
  2233.     ifp palive 
  2234.         { ifpdistl 1500
  2235.                 {
  2236.                 ifpinventory GET_BOOTS 124 { } else { cstat 32768 }
  2237.                 ifpinventory GET_BOOTS 125 { } else { cstat 32768 }
  2238.                 }
  2239.         }
  2240.     }
  2241.     
  2242.     ifaction AMMO8
  2243.     {
  2244.     ifp palive { ifpdistl 380 { quote 66 addweapon DEVISTATOR_WEAPON DEVISTATORAMMOAMOUNT } }
  2245.     ifcount 250 { action NOAMMO resetcount }
  2246.     }
  2247.  
  2248.     ifaction NOAMMO
  2249.     { 
  2250.     ifp palive { ifpdistl 380 { quote 61 } }
  2251.     ifcount 400 { action AMMO8 resetcount }
  2252.     }
  2253.  
  2254.     ifaction SLAP
  2255.     {
  2256.       ifp palive {
  2257.                  ifpdistl 380 {
  2258.                      ifpinventory GET_BOOTS 120 { quote 14 } else {
  2259.                          quote 158 addinventory GET_BOOTS 122 action KKTESTAUS 
  2260.                                                           }
  2261.                               } 
  2262.                   } 
  2263.     }
  2264.  
  2265.     ifaction KKTESTAUS
  2266.     {
  2267.     ifp palive {
  2268.                  ifpdistg 380 { addinventory GET_BOOTS 200 action SLAP }
  2269.                }
  2270.     else action SLAP
  2271.     }
  2272.  
  2273.  
  2274.     ifaction SIXTY
  2275.     {
  2276.       ifp palive {
  2277.                  ifpdistl 380 {
  2278.                      ifpinventory GET_BOOTS 126 { quote 14 } else {
  2279.                          quote 169 addinventory GET_BOOTS 124 action KKTESTAUS2 
  2280.                                                           }
  2281.                               }
  2282.                   } 
  2283.     }
  2284.  
  2285.     ifaction KKTESTAUS2
  2286.     {
  2287.     ifp palive {
  2288.                  ifpdistg 380 { addinventory GET_BOOTS 200 action SIXTY }
  2289.                }
  2290.     else action SIXTY
  2291.     }
  2292. enda
  2293.  
  2294. actor SHRINKERSPRITE
  2295.     fall
  2296.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  2297.     else ifp pshrunk { } else ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifcanseetarget
  2298.     {
  2299.         ifgotweaponce 0 break
  2300.  
  2301.         addweapon SHRINKER_WEAPON CRYSTALAMMOAMOUNT quote 60
  2302.         ifspawnedby SHRINKERSPRITE state getweaponcode
  2303.         else state quikweaponget
  2304.     }
  2305. enda
  2306.  
  2307. actor FREEZESPRITE
  2308.     fall
  2309.     ifmove RESPAWN_ACTOR_FLAG state respawnit
  2310.     else ifp pshrunk { } else ifp palive ifpdistl RETRIEVEDISTANCE ifcount 6 ifcanseetarget
  2311.     {
  2312.         ifgotweaponce 0 break
  2313.  
  2314.         addweapon FREEZE_WEAPON FREEZEAMMOAMOUNT quote 59
  2315.         ifspawnedby FREEZESPRITE state getweaponcode
  2316.         else state quikweaponget
  2317.     }
  2318. enda
  2319.  
  2320.  
  2321. action POMMIKONE 1222 2 1 1 3
  2322. move PK 285
  2323.  
  2324. actor DEVISTATORSPRITE 100 0 PK randomangle    
  2325. ifaction 0 { cstat 32 action POMMIKONE } 
  2326. ifaction POMMIKONE 
  2327.         {
  2328.         soundonce INVADER
  2329.         cstat 32 action POMMIKONE
  2330.         ifcount 4
  2331.                 {
  2332.                 resetcount
  2333.                 ifrnd 64 { sound VIHELLYS spawn COLA } 
  2334.                 }
  2335.         else ifnotmoving { stopsound INVADER killit }
  2336.        }
  2337. enda
  2338.  
  2339.  
  2340. state firestate
  2341.  
  2342.     ifgapzl 16 break
  2343.     ifinwater killit
  2344.  
  2345.     ifactor FIRE { ifp palive ifpdistl 844 ifrnd 32 ifcansee { soundonce DUKE_LONGTERM_PAIN addphealth -1 palfrom 32 32 } }
  2346.  
  2347.     ifactor FIRE ifspawnedby FIRE break
  2348.     else ifactor FIRE2 ifspawnedby FIRE2 break
  2349.  
  2350.     iffloordistl 128
  2351.     {
  2352.         ifcount 32 sizeto 8 8
  2353.         ifcount 64 killit
  2354.     }
  2355.     else killit
  2356.  
  2357. ends
  2358.  
  2359. action FIRE_FRAMES     -1 14 1 1 1
  2360. action FIRE_FRAMES5    -1 14 1 1 13
  2361. move FIREVELS
  2362. actor FIRE WEAK FIRE_FRAMES FIREVELS
  2363. cstat 128 state firestate enda
  2364.  
  2365. actor FIRE2 WEAK FIRE_FRAMES5 FIREVELS
  2366. cstat 130 state firestate enda
  2367.  
  2368. action FFLAME 0 1 1 1 1
  2369.  
  2370. actor TRIPFLARE
  2371.     fall
  2372.     ifcount 150
  2373.     ifaction 0 action FFLAME
  2374.     
  2375.     ifaction FFLAME
  2376.     { 
  2377.         {  ifpdistl 1100 { sound GENERIC_AMBIENCE22 spawn BURNING2 spawn CRYSTALAMMO killit } }
  2378.            else action FFLAME
  2379.     }
  2380.  
  2381. enda
  2382.  
  2383. actor FLOORFLAME
  2384.         cstat 32768
  2385.         ifcount 600
  2386.         { 
  2387.           ifrnd 50 { ifrnd 128 spawn DEVISTATORAMMO }
  2388.           else ifrnd 50 { ifrnd 128 spawn DEVISTATORSPRITE }
  2389.           else ifrnd 50 { ifrnd 128 spawn ATOMICHEALTH }
  2390.           ifcount 600 resetcount
  2391.           
  2392.         }
  2393. enda
  2394.  
  2395. actor NAPALM 
  2396.     cstat 256
  2397.     fall
  2398.     iffloordistl 2
  2399.     { 
  2400.     ifonwater killit
  2401.     else
  2402.     {
  2403.         sound BURN1
  2404.         spawn EXPLOSION2
  2405.         hitradius 3000 25 50 100 200
  2406.         spawn BURNING
  2407.         killit
  2408.     }
  2409.     }
  2410. enda
  2411.  
  2412. state drop_ammo ifrnd SPAWNAMMOODDS spawn AMMO ends
  2413. state drop_battery ifrnd SPAWNAMMOODDS spawn BATTERYAMMO ends
  2414. state drop_sgshells ifrnd SPAWNAMMOODDS spawn SHOTGUNAMMO ends
  2415. state drop_shotgun ifrnd SPAWNAMMOODDS spawn SHOTGUNSPRITE ends
  2416. state drop_chaingun ifrnd SPAWNAMMOODDS spawn BATTERYAMMO ends
  2417.  
  2418. state jib_sounds
  2419.     ifrnd SWEARFREQUENCY
  2420.     {
  2421.         ifrnd 16 sound JIBBED_ACTOR1
  2422.         else ifrnd 16 sound JIBBED_ACTOR2
  2423.         else ifrnd 16 sound JIBBED_ACTOR3
  2424.         else ifrnd 16 sound JIBBED_ACTOR5
  2425.         else ifrnd 16 sound JIBBED_ACTOR6
  2426.         else ifrnd 16 sound JIBBED_ACTOR10
  2427.         else ifrnd 16 sound JIBBED_ACTOR7
  2428.         else ifrnd 16 sound JIBBED_ACTOR4
  2429.         else ifrnd 16 sound JIBBED_ACTOR8
  2430.         else ifrnd 16 sound JIBBED_ACTOR13
  2431.         else ifrnd 16 sound JIBBED_ACTOR9
  2432.         else ifrnd 16 sound JIBBED_ACTOR11
  2433.         else ifrnd 16 sound JIBBED_ACTOR12
  2434.     }
  2435. ends
  2436.  
  2437. //  TNT (tnt@mbnet.fi) 
  2438.  
  2439. state standard_jibs
  2440.     guts JIBS2 1
  2441.     guts JIBS3 2
  2442.     guts JIBS4 3
  2443.     guts JIBS5 2
  2444.     guts JIBS6 3
  2445.     ifrnd 4 { guts JIBS1 1 spawn BLOODPOOL }               // spine
  2446.     state jib_sounds
  2447. ends
  2448.  
  2449. action VALE 0 1 1 1 1
  2450. useractor enemy VALEDOD 55 0
  2451.  
  2452. ifaction 0 { sizeat 45 45 action VALE }
  2453.  
  2454. ifaction VALE { ifcansee { ifpdistl 3000 { spawn PIGCOP killit }
  2455.                                else ifpdistl 7000 {
  2456.                                  ifangdiffl 900 { } else { spawn PIGCOP killit }
  2457.                                                   }
  2458.                            }
  2459.                   ifhitweapon { ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_jibs killit }
  2460.                                 else spawn PIGCOP killit }
  2461.  
  2462.               }
  2463. enda
  2464.  
  2465.  
  2466.  
  2467.  
  2468. action HEI1 2362 2 5 1 3
  2469. useractor notenemy FEM1 0 HEI1
  2470.         sizeat 48 48 
  2471.         ifspritepal 10 fall
  2472.         soundonce HELICOP_IDLE
  2473. enda
  2474.  
  2475. useractor notenemy PIIKKI TOUGH 
  2476.    fall
  2477.    sizeat 36 36 
  2478.    cstat 17
  2479.    ifpdistl 512 
  2480.    { ifcount 20 { addphealth -1 palfrom 16 16 ifrnd 50 sound DUKE_LONGTERM_PAIN2 resetcount } }   
  2481.  
  2482. enda
  2483.  
  2484. action MINE2_FRAME 0 1 1 1 1
  2485. action MINE2_TRIG 0 1 1 1 1
  2486.  
  2487. useractor notenemy FEM3 WEAK
  2488. {
  2489.     fall
  2490.     sizeat 48 48 
  2491.     cstat 256
  2492.     ifaction 0 action MINE2_FRAME
  2493.     
  2494.     ifaction MINE2_FRAME 
  2495.     { 
  2496.     ifpdistl 800 { ifrnd 60 { quote 39 sound SWITCH_ON spawn BURNING2 killit } } 
  2497.  
  2498.     ifpinventory GET_BOOTS 100 { } else { ifpdistl 2800 { soundonce TURR_RECOG } }
  2499.     ifpinventory GET_SCUBA 84 { } else { ifpdistl 2800 { soundonce TURR_RECOG } }
  2500.     
  2501.     ifhitweapon { ifwasweapon RADIUSEXPLOSION { ifrnd 128 { spawn BURNING2 killit } } }
  2502.     }
  2503. }
  2504. enda
  2505.  
  2506.  
  2507. action AANTA 0 1 1 1 1
  2508. action HILJAA 0 1 1 1 1
  2509. useractor notenemy FEM6 
  2510. sizeat 48 48
  2511. cstat 32768
  2512. ifaction 0 action AANTA
  2513.  
  2514. ifaction AANTA
  2515. ifpdistl 1000
  2516. ifrnd 80 soundonce BUSH1
  2517. else ifrnd 100 soundonce BUSH3
  2518. else action HILJAA         
  2519. }
  2520.  
  2521. ifaction HILJAA
  2522. ifp pjumping soundonce BUSH3
  2523. else ifpdistg 1000 action AANTA 
  2524. }
  2525. enda
  2526.  
  2527.  
  2528. actor WOODENHORSE
  2529.     cstat 32768
  2530.  
  2531.     ifpinventory GET_SCUBA 0 { } else
  2532.     {
  2533.     ifp pshrunk { } else ifp palive ifcount 6 ifpdistl 1300 
  2534.     {
  2535.     quote 140 addinventory GET_SCUBA 60 
  2536.     } }
  2537.  
  2538.     ifpinventory GET_SCUBA 70 { } else
  2539.     {
  2540.     ifp pshrunk { } else ifp palive ifcount 6 ifpdistl 1300 
  2541.     {
  2542.     quote 140 addinventory GET_SCUBA 60 
  2543.     } }
  2544.  
  2545. enda
  2546.  
  2547. useractor notenemy FEM8 
  2548.     fall
  2549.     sizeat 48 48 
  2550.     ifcount 16
  2551.     {
  2552.         resetcount
  2553.         ifp palive ifpdistl 1024 ifp phigher
  2554.         {
  2555.             addphealth -5
  2556.             palfrom 16 16
  2557.             ifrnd 64 sound DUKE_LONGTERM_PAIN2
  2558.         }
  2559.      } 
  2560. enda
  2561.  
  2562. // blue_standard 
  2563. action BLUEWINS 0 1 1 1 1
  2564. action BLUELOSE 1666 12 1 1 2
  2565. action BLUEWAIT 0 1 1 1 1
  2566.  
  2567. useractor notenemy NAKED1
  2568.  
  2569. ifaction 0 action BLUEWAIT
  2570. ifaction BLUEWAIT
  2571. {
  2572. ifpinventory GET_SCUBA 65 { } else { 
  2573.                           ifpdistl 2048 { quote 145 action BLUEWINS }
  2574.                                    }  
  2575.  
  2576. ifpinventory GET_SCUBA 74 { } else { 
  2577.                           ifpdistl 3048 { cstat 128 action BLUELOSE }
  2578.                                    }  
  2579.  
  2580. }
  2581.  
  2582. ifaction BLUEWINS 
  2583. { ifpdistl 2048 { 
  2584.                 ifpinventory GET_SCUBA 60 { } else { addinventory GET_SCUBA 64 }
  2585.                 ifpinventory GET_SCUBA 65 { } else { addinventory GET_SCUBA 64 }
  2586.                
  2587.                 }
  2588.    ifcount 200 { sound WIERDSHOT_FLY resetcount }
  2589. }
  2590.  
  2591. ifaction BLUELOSE
  2592. {
  2593.   
  2594. }
  2595. enda
  2596.  
  2597.  
  2598. // red_standard
  2599. action REDWINS 0 1 1 1 1
  2600. action REDLOSE 975 12 1 1 2
  2601. action REDWAIT 0 1 1 1 1 
  2602. useractor notenemy PODFEM1 
  2603. ifaction 0 action REDWAIT
  2604.  
  2605. ifaction REDWAIT 
  2606. {
  2607. ifpinventory GET_SCUBA 75 { } else {
  2608.                                 ifpdistl 2048 { quote 146 action REDWINS } 
  2609.                                    }
  2610.  
  2611. ifpinventory GET_SCUBA 64 { } else {
  2612.                                 ifpdistl 3048 { cstat 128 action REDLOSE } 
  2613.                                    }
  2614. }
  2615.  
  2616. ifaction REDWINS
  2617. { ifpdistl 2048 {
  2618.         ifpinventory GET_SCUBA 70 { } else { addinventory GET_SCUBA 74 }
  2619.         ifpinventory GET_SCUBA 75 { } else { addinventory GET_SCUBA 74 } 
  2620.       
  2621.                 }
  2622.  ifcount 200 { sound TURR_ROAM resetcount }
  2623. }
  2624.  
  2625. ifaction REDLOSE 
  2626. {
  2627.  
  2628. }
  2629. enda
  2630.  
  2631. actor STATUE
  2632. cstat 32768
  2633. ifp palive { ifpdistl 3072 { endofgame 52 } }
  2634. enda
  2635.  
  2636. actor MIKE
  2637.     ifpdistl 1024 
  2638.         { ifpinventory GET_SCUBA 10 
  2639.                 { } 
  2640.           else  
  2641.                 { quote 144 addinventory GET_SCUBA 5 } 
  2642.         }
  2643. enda
  2644.  
  2645. state troop_body_jibs
  2646. ifrnd 64 spawn BLOODPOOL
  2647. ends
  2648.  
  2649. state liz_body_jibs
  2650. ifrnd 64 spawn BLOODPOOL
  2651. ends
  2652.  
  2653. state vehiclehit
  2654.  
  2655.         ifwasweapon RPG { sound METALLI debris SCRAP1 20 }
  2656.         
  2657.         ifwasweapon RADIUSEXPLOSION
  2658.         { sound METALLI }
  2659.         
  2660.         ifwasweapon FIRELASER 
  2661.         { sound METALLI debris SCRAP1 10 }
  2662.  
  2663.         ifwasweapon SHOTSPARK1 { sound PISTOL_RICOCHET addstrength 20 }
  2664.  
  2665.         ifwasweapon SHRINKSPARK { sound METALLI debris SCRAP1 10 }
  2666.  
  2667.         ifwasweapon GROWSPARK { sound PISTOL_RICOCHET addstrength 80 }
  2668. ends
  2669.  
  2670. state vehiclehit2
  2671.  
  2672.         ifwasweapon RPG
  2673.         {
  2674.             sound METALLI debris SCRAP1 20 
  2675.             ifdead { debris SCRAP1 40 sound RPG_EXPLODE }
  2676.             break
  2677.         }
  2678.         
  2679.         ifwasweapon RADIUSEXPLOSION
  2680.         {
  2681.             sound METALLI debris SCRAP1 20 
  2682.             ifdead { debris SCRAP1 40 sound RPG_EXPLODE }
  2683.             break
  2684.         }
  2685.         
  2686.         ifwasweapon FIRELASER 
  2687.         {
  2688.              sound METALLI
  2689.              ifdead { debris SCRAP1 40 sound RPG_EXPLODE }
  2690.         }
  2691.  
  2692.         ifwasweapon SHOTSPARK1 
  2693.         {
  2694.              sound PISTOL_RICOCHET
  2695.              addphealth 15
  2696.              ifdead { debris SCRAP1 40 sound RPG_EXPLODE }
  2697.         }
  2698.  
  2699.         ifwasweapon CHAINGUN 
  2700.         {
  2701.              sound PISTOL_RICOCHET
  2702.              addphealth 18
  2703.              ifdead { debris SCRAP1 40 sound RPG_EXPLODE }
  2704.         } 
  2705.         
  2706.         ifwasweapon SHOTGUN 
  2707.         {
  2708.              sound PISTOL_RICOCHET
  2709.              addphealth 18
  2710.              ifdead { debris SCRAP1 40 sound RPG_EXPLODE }
  2711.         } 
  2712.  
  2713.         ifwasweapon SHRINKSPARK
  2714.         { 
  2715.               sound METALLI debris SCRAP1 20
  2716.               addphealth 18
  2717.               ifdead { debris SCRAP1 40 sound RPG_EXPLODE }
  2718.         }
  2719. ends
  2720.  
  2721.  
  2722. state delete_enemy killit ends
  2723.  
  2724. action BLOODFRAMES 0 4 1 1 15
  2725. actor BLOOD 0 BLOODFRAMES
  2726.     sizeto 72 72 sizeto 72 72 sizeto 72 72
  2727.     ifpdistg 3144 killit
  2728.     ifactioncount 4 killit
  2729. enda
  2730.  
  2731. actor KNEE KNEE_WEAPON_STRENGTH enda
  2732. actor SPIT SPIT_WEAPON_STRENGTH enda
  2733. actor CHAINGUN CHAINGUN_WEAPON_STRENGTH enda
  2734. actor SHOTGUN SHOTGUN_WEAPON_STRENGTH enda
  2735. actor FIRELASER FIRELASER_WEAPON_STRENGTH enda
  2736. actor HEAVYHBOMB HANDBOMB_WEAPON_STRENGTH enda
  2737. actor BOUNCEMINE BOUNCEMINE_WEAPON_STRENGTH enda
  2738. actor MORTER MORTER_WEAPON_STRENGTH enda
  2739. actor SHRINKSPARK SHRINKER_WEAPON_STRENGTH enda
  2740. actor RPG RPG_WEAPON_STRENGTH enda
  2741. actor FREEZEBLAST FREEZETHROWER_WEAPON_STRENGTH enda
  2742. actor DEVISTATORBLAST FREEZETHROWER_WEAPON_STRENGTH enda
  2743. actor COOLEXPLOSION1 COOL_EXPLOSION_STRENGTH enda
  2744. actor TRIPBOMB TRIPBOMB_STRENGTH enda
  2745.  
  2746. action WEAP2FRAMES 0  4  1  1  6
  2747. actor SHOTSPARK1 PISTOL_WEAPON_STRENGTH WEAP2FRAMES
  2748.     ifdead killit
  2749.     ifactioncount 4 killit
  2750.     else
  2751.     {
  2752.         ifactioncount 3 { ifinwater spawn WATERBUBBLE }
  2753.         else ifcount 2 { } else ifonwater spawn WATERSPLASH2
  2754.     }
  2755. enda
  2756.  
  2757. state standard_pjibs
  2758.     guts JIBS1 1
  2759.     guts JIBS3 2
  2760.     guts JIBS4 1
  2761.     guts JIBS5 1
  2762.     guts JIBS6 2
  2763.     guts DUKETORSO 1
  2764.     guts DUKELEG 2
  2765.     guts DUKEGUN 1
  2766.     ifrnd 16 money 1
  2767. ends
  2768.  
  2769. move DUKENOTMOVING
  2770. state handle_dead_dukes
  2771.     fall
  2772.     ifmove 0     // 1st time initializiation...
  2773.     {
  2774.         ifrnd 128 cstat 4
  2775.         else cstat 0
  2776.         move DUKENOTMOVING
  2777.     }
  2778.  
  2779.     ifsquished
  2780.     {
  2781.         sound SQUISHED
  2782.         spawn OOZ
  2783.         killit
  2784.     }
  2785.     else ifcount 1024 ifpdistg 4096 killit
  2786.     else
  2787.     {
  2788.         strength 0
  2789.         ifhitweapon ifwasweapon RADIUSEXPLOSION
  2790.         {
  2791.             state standard_jibs
  2792.             killit
  2793.         }
  2794.     }
  2795. ends
  2796.  
  2797. action GI0 2498 1 5 1
  2798. action GIKK_F 2498 2 5 1 5
  2799. action GIKK 2498 1 5 1
  2800.  
  2801. useractor notenemy GI 100 GI0
  2802. fall
  2803. sizeat 38 38
  2804. ifaction GI0 {
  2805.                 ifspritepal 10 { ifcount 250 action GIKK_F }
  2806.                 ifspritepal 11 { ifcount 450 action GIKK_F }
  2807.              }
  2808.  
  2809. ifaction GIKK_F
  2810. {
  2811. ifcount 3 { sound POOLBALLHIT resetcount }
  2812. ifactioncount 75 action GIKK
  2813. }
  2814.  
  2815. enda
  2816.  
  2817. action PLYINGFRAMES 0 1 0 1 1
  2818. actor DUKELYINGDEAD 0 PLYINGFRAMES
  2819.     state handle_dead_dukes
  2820. enda
  2821.  
  2822. action PSTAND       0   1   5   1    1
  2823. action PEXPLODE     106   5   1   1   10
  2824. action PEXPLODEAD   113   1   1    
  2825. action KK           2398 1   5   1
  2826. action KK2          2403 1   5   1 
  2827. action KK6          2413 1   5   1
  2828. action KK7          2418 1   5   1    
  2829. action KRHDUKE      1315 1   5   1 
  2830. action TANKKI       2221 1   5   1
  2831. action HELIKO       2270 2   5   1   6
  2832. action PJPHOUVER    2270 2   5   1
  2833. action PWALK        20   4   5   1   16
  2834. action PRUN         20   4   5   1   10
  2835. action PWALKBACK    45   4   5  -1   16
  2836. action PRUNBACK     45   4   5  -1   10
  2837. action PJUMPING     50   4   5   1   30
  2838. action PFALLING     65   1   5
  2839. action PDUCKING     86   1   5
  2840. action PCRAWLING    86   3   5   1   20
  2841. action PAKICKING    40   2   5   1   25
  2842. action PFLINTCHING  106  1   1   1   10
  2843. action PTHROWNBACK  106  5   1   1   18
  2844. action PFROZEN       20  1   5
  2845. action PLYINGDEAD   113  1   1
  2846. action EYES         2035  7  1   1   15
  2847. action INVI          -1  1  1   1   1 
  2848. action PSWIMMINGGO   375   1   5   1   10
  2849. action PSWIMMING     375   4   5   1   13
  2850. action PSWIMMINGWAIT 395   1   5   1   13
  2851. action PTREDWATER    395   2   5   1   17
  2852.  
  2853. move PSTOPED
  2854. move PSHRINKING // used as a var only
  2855.  
  2856. state check_dead_thrown_back
  2857.     ifdead
  2858.     {
  2859.         strength 0
  2860.         action PTHROWNBACK
  2861.     }
  2862. ends
  2863.  
  2864. state check_pstandard
  2865.     ifp pwalking action PWALK
  2866.     else ifp pkicking action PAKICKING
  2867.     else ifp pwalkingback action PWALKBACK
  2868.     else ifp prunning action PRUN
  2869.     else ifp prunningback action PRUNBACK
  2870.     else ifp pjumping
  2871.         action PJUMPING
  2872.     else ifp pducking action PDUCKING
  2873. ends
  2874.  
  2875. state random_wall_jibs
  2876.     ifrnd 96 shoot BLOODSPLAT1
  2877.     ifrnd 96 shoot BLOODSPLAT2
  2878.     ifrnd 96 shoot BLOODSPLAT3
  2879.     ifrnd 96 shoot BLOODSPLAT4
  2880.     ifrnd 96 shoot BLOODSPLAT1
  2881. ends
  2882.  
  2883.  
  2884. move nopeu1 100
  2885. actor APLAYER 100 PSTAND 0 0 nopeu1
  2886.  
  2887.      ifphealthl 15 { ifrnd 1 { ifrnd 40 { ifp palive { action PFLINTCHING spawn BLOOD addphealth -1 quote 159 ifphealthl 1 action PTHROWNBACK } } } }
  2888.              
  2889.  
  2890.      ifpinventory GET_SCUBA 2 { } else {
  2891.      ifp pjumping action INVI
  2892.      ifp pfalling action INVI
  2893.      ifp pstanding action INVI
  2894.      ifp prunning action EYES
  2895.      ifp pwalkingback action INVI
  2896.      ifp prunningback action INVI
  2897.      ifp pducking action INVI
  2898.      ifdead { addinventory GET_SCUBA 1 }                     
  2899.                                         }
  2900.  
  2901.      ifpinventory GET_BOOTS 128 { } else
  2902.      {
  2903.      action KRHDUKE
  2904.      ifcount 15
  2905.         { ifhitspace
  2906.                 { ifp pducking
  2907.                         { addinventory GET_BOOTS 129 quote 183 resetcount }
  2908.                 }
  2909.          }
  2910.  
  2911.      ifcount 40
  2912.         { ifhitspace
  2913.                 { ifp pducking
  2914.                         { addinventory GET_BOOTS 129 quote 183 resetcount }
  2915.                   else
  2916.                         { sound SPACE_DOOR3 spawn MORTAR10 resetcount }
  2917.                 }
  2918.         }
  2919.      ifdead { addinventory GET_BOOTS 0 }
  2920.      }
  2921.  
  2922.      ifpinventory GET_BOOTS 129 { } else
  2923.      {
  2924.      action KRHDUKE 
  2925.      ifcount 15
  2926.         { ifhitspace
  2927.                 { ifp pducking
  2928.                         { addinventory GET_BOOTS 130 quote 184 resetcount }
  2929.                 }
  2930.          }     
  2931.      ifcount 40
  2932.         { ifhitspace
  2933.                 { ifp pducking
  2934.                         { addinventory GET_BOOTS 130 quote 184 resetcount }
  2935.                   else
  2936.                         { sound SPACE_DOOR3 spawn MORTAR11 resetcount }
  2937.                 }
  2938.         }
  2939.      ifdead { addinventory GET_BOOTS 0 }
  2940.      }
  2941.  
  2942.      ifpinventory GET_BOOTS 130 { } else
  2943.      {
  2944.      action KRHDUKE
  2945.  
  2946.      ifcount 15
  2947.         { ifhitspace
  2948.                 { ifp pducking
  2949.                         { addinventory GET_BOOTS 131 quote 185 resetcount }
  2950.                 }
  2951.          }
  2952.      ifcount 40
  2953.         { ifhitspace
  2954.                 { ifp pducking
  2955.                         { addinventory GET_BOOTS 131 quote 185 resetcount }
  2956.                   else
  2957.                         { sound SPACE_DOOR3 spawn MORTAR12 resetcount }
  2958.                 }
  2959.         }
  2960.      ifdead { addinventory GET_BOOTS 0 }
  2961.      }
  2962.  
  2963.      ifpinventory GET_BOOTS 131 { } else
  2964.      {
  2965.      action KRHDUKE
  2966.  
  2967.      ifcount 15
  2968.         { ifhitspace
  2969.                 { ifp pducking
  2970.                         { addinventory GET_BOOTS 132 quote 186 resetcount }
  2971.                 }
  2972.          }
  2973.      ifcount 40
  2974.         { ifhitspace
  2975.                 { ifp pducking
  2976.                         { addinventory GET_BOOTS 132 quote 186 resetcount }
  2977.                   else
  2978.                         { sound SPACE_DOOR3 spawn MORTAR13 resetcount }
  2979.                 }
  2980.         }
  2981.      ifdead { addinventory GET_BOOTS 0 }
  2982.      }
  2983.  
  2984.      ifpinventory GET_BOOTS 132 { } else
  2985.      {
  2986.      action KRHDUKE
  2987.  
  2988.      ifcount 15
  2989.         { ifhitspace
  2990.                 { ifp pducking
  2991.                         { addinventory GET_BOOTS 133 quote 187 resetcount }
  2992.                 }
  2993.          }
  2994.      ifcount 40
  2995.         { ifhitspace
  2996.                 { ifp pducking
  2997.                         { addinventory GET_BOOTS 133 quote 187 resetcount }
  2998.                   else
  2999.                         { sound SPACE_DOOR3 spawn MORTAR14 resetcount }
  3000.                 }
  3001.         }
  3002.      ifdead { addinventory GET_BOOTS 0 }
  3003.      }
  3004.  
  3005.      ifpinventory GET_BOOTS 133 { } else
  3006.      {
  3007.      action KRHDUKE
  3008.  
  3009.      ifcount 15
  3010.         { ifhitspace
  3011.                 { ifp pducking
  3012.                         { addinventory GET_BOOTS 134 quote 188 resetcount }
  3013.                 }
  3014.          }
  3015.      ifcount 40
  3016.         { ifhitspace
  3017.                 { ifp pducking
  3018.                         { addinventory GET_BOOTS 134 quote 188 resetcount }
  3019.                   else
  3020.                         { sound SPACE_DOOR3 spawn MORTAR15 resetcount }
  3021.                 }
  3022.         }
  3023.      ifdead { addinventory GET_BOOTS 0 }
  3024.      }
  3025.  
  3026.      ifpinventory GET_BOOTS 134 { } else
  3027.      {
  3028.      action KRHDUKE
  3029.  
  3030.      ifcount 15
  3031.         { ifhitspace
  3032.                 { ifp pducking
  3033.                         { addinventory GET_BOOTS 128 quote 182 resetcount }
  3034.                 }
  3035.          }
  3036.  
  3037.  
  3038.      ifcount 40
  3039.         { ifhitspace
  3040.                 { ifp pducking
  3041.                         { addinventory GET_BOOTS 128 quote 182 resetcount }
  3042.                   else
  3043.                         { sound SPACE_DOOR3 spawn MORTAR16 resetcount }
  3044.                 }
  3045.         }
  3046.      ifdead { addinventory GET_BOOTS 0 }
  3047.      }
  3048.  
  3049.  
  3050.      ifpinventory GET_BOOTS 122 { } else
  3051.      {
  3052.      action KK
  3053.      ifcount 3 { ifhitspace { addinventory GET_BOOTS 123 resetcount } }
  3054.      ifdead { addinventory GET_BOOTS 0 }
  3055.      }
  3056.  
  3057.      ifpinventory GET_BOOTS 123 { } else
  3058.      {
  3059.      action KK2 shoot SHOTSPARK1 sound POOLBALLHIT
  3060.      addinventory GET_BOOTS 122 resetcount
  3061.      ifdead { addinventory GET_BOOTS 0 }
  3062.      }
  3063.  
  3064.      ifpinventory GET_BOOTS 124 { } else
  3065.      {
  3066.      action KK6
  3067.      ifcount 4 { ifhitspace { addinventory GET_BOOTS 125 resetcount } }
  3068.      ifdead { addinventory GET_BOOTS 0 }
  3069.      }
  3070.  
  3071.      ifpinventory GET_BOOTS 125 { } else
  3072.      {
  3073.      action KK7 shoot CHAINGUN sound OCTA_ROAM
  3074.      addinventory GET_BOOTS 124 resetcount
  3075.      ifdead { addinventory GET_BOOTS 0 }
  3076.      }
  3077.  
  3078.      ifpinventory GET_BOOTS 200 { } else
  3079.      {
  3080.      action PSTAND
  3081.      ifdead { addinventory GET_BOOTS 0 }
  3082.      ifcount 1 { addinventory GET_BOOTS 0 } 
  3083.      }
  3084.  
  3085.      ifpinventory GET_STEROIDS 2 { } else
  3086.      {
  3087.      action PSTAND
  3088.      ifdead { addinventory GET_STEROIDS 0 }
  3089.      ifcount 1 { addinventory GET_STEROIDS 0 } 
  3090.      }
  3091.  
  3092. ifp prunning
  3093.     {
  3094.      ifp ponsteroids { }
  3095.      else ifonwater { }
  3096.      else ifp pjetpack { }
  3097.      else ifp pjumping { }
  3098.      else soundonce RUN2
  3099.      }
  3100.  
  3101. ifpinventory GET_SCUBA 10 { } else { ifcount 1 { spawn NUOLI } }
  3102.  
  3103. ifpinventory GET_SCUBA 60 { } else { ifcount 1 { spawn NUOLI } }
  3104. ifpinventory GET_SCUBA 70 { } else { ifcount 1 { spawn NUOLI } }
  3105.    
  3106. ifpinventory GET_SCUBA 65 { } else { ifcount 1 { spawn NUOLI } }
  3107. ifpinventory GET_SCUBA 75 { } else { ifcount 1 { spawn NUOLI } }
  3108.    
  3109. ifpinventory GET_SCUBA 64 { } else { cstat 0 ifcount 1 { spawn NUOLI } }
  3110. ifpinventory GET_SCUBA 74 { } else { cstat 0 ifcount 1 { spawn NUOLI } }
  3111.  
  3112.  
  3113. ifpinventory GET_SCUBA 80 { } else { ifcount 1 { spawn NUOLI } }
  3114. ifpinventory GET_SCUBA 81 { } else { ifcount 1 { spawn NUOLI } }
  3115. ifpinventory GET_SCUBA 82 { } else { ifcount 1 { spawn NUOLI } }
  3116. ifpinventory GET_SCUBA 83 { } else { ifcount 1 { spawn NUOLI } }
  3117. ifpinventory GET_SCUBA 84 { } else { ifcount 1 { spawn NUOLI } }
  3118. ifpinventory GET_SCUBA 85 { } else { ifcount 1 { spawn NUOLI } }
  3119. ifpinventory GET_SCUBA 86 { } else { ifcount 1 { spawn NUOLI } }
  3120. ifpinventory GET_SCUBA 87 { } else { ifcount 1 { spawn NUOLI } }
  3121.  
  3122. ifaction 0 action PSTAND
  3123.     ifdead
  3124.     
  3125.     {
  3126.         ifsquished palfrom 32 63 63 63
  3127.         else fall
  3128.  
  3129.         ifactioncount 7 { move 0 } else ifactioncount 6
  3130.         {
  3131.             ifmultiplayer { }
  3132.             else
  3133.             {
  3134.                 ifrnd 32 sound DUKE_KILLED5
  3135.                 else ifrnd 32 sound DUKE_KILLED3
  3136.                 else ifrnd 32 sound DUKE_KILLED1
  3137.                 else ifrnd 32 sound DUKE_KILLED2
  3138.             }
  3139.         }
  3140.  
  3141.         ifaction PLYINGDEAD
  3142.         {
  3143.             ifactioncount 3 move PSTOPED
  3144.             ifpinventory GET_SCUBA 80 { } else { quote 167 break }
  3145.             ifpinventory GET_SCUBA 81 { } else { quote 167 break }
  3146.             ifpinventory GET_SCUBA 82 { } else { quote 167 break }
  3147.             ifpinventory GET_SCUBA 83 { } else { quote 167 break }
  3148.             ifpinventory GET_SCUBA 84 { } else { quote 167 break }
  3149.             ifpinventory GET_SCUBA 85 { } else { quote 167 break }
  3150.             ifpinventory GET_SCUBA 86 { } else { quote 167 break }
  3151.             ifpinventory GET_SCUBA 87 { } else { quote 167 break }
  3152.             quote 13
  3153.             ifhitspace
  3154.             {
  3155.                 action PSTAND
  3156.                 ifpinventory GET_SCUBA 5 { } else { ifrnd 235 spawn BEASTFLAG }
  3157.                 ifpinventory GET_SCUBA 1 { } else { ifrnd 235 spawn BEASTFLAG }
  3158.                 ifpinventory GET_SCUBA 10 { } else { ifrnd 235 spawn BEASTFLAG }
  3159.                 ifpinventory GET_SCUBA 65 { } else { spawn REDMAINFLAG }
  3160.                 ifpinventory GET_SCUBA 75 { } else { spawn BLUEMAINFLAG }
  3161.                 spawn DUKELYINGDEAD
  3162.                 resetplayer
  3163.             }
  3164.             break
  3165.         }
  3166.         else ifaction PTHROWNBACK
  3167.         {
  3168.             ifactioncount 5
  3169.             {
  3170.                 spawn BLOODPOOL
  3171.                 action PLYINGDEAD
  3172.             }
  3173.             else ifactioncount 1 move 0
  3174.             break
  3175.         }
  3176.         else ifaction PFROZEN
  3177.         {
  3178.             cstat 257
  3179.  
  3180.             palfrom 16 0 0 24
  3181.  
  3182.             ifhitweapon
  3183.             {
  3184.                 ifrnd 84 spawn BLOODPOOL
  3185.  
  3186.                 getlastpal
  3187.                 cstat 32768
  3188.                 action PLYINGDEAD
  3189.                 break
  3190.             }
  3191.  
  3192.             ifactioncount THAWTIME { getlastpal strength 1 move 0 action PSTAND }
  3193.             else ifactioncount FROZENDRIPTIME { ifrnd 32 spawn WATERDRIP }
  3194.  
  3195.             ifp pfacing   // assumes some other player
  3196.                 ifpdistl FROZENQUICKKICKDIST pkick
  3197.  
  3198.             break
  3199.         }
  3200.         else ifaction PEXPLODEAD
  3201.         {
  3202.             ifpinventory GET_SCUBA 80 { } else { quote 167 break }
  3203.             ifpinventory GET_SCUBA 81 { } else { quote 167 break }
  3204.             ifpinventory GET_SCUBA 82 { } else { quote 167 break }
  3205.             ifpinventory GET_SCUBA 83 { } else { quote 167 break }
  3206.             ifpinventory GET_SCUBA 84 { } else { quote 167 break }
  3207.             ifpinventory GET_SCUBA 85 { } else { quote 167 break }
  3208.             ifpinventory GET_SCUBA 86 { } else { quote 167 break }
  3209.             ifpinventory GET_SCUBA 87 { } else { quote 167 break }
  3210.             quote 13
  3211.             ifhitspace
  3212.             {
  3213.                 action PSTAND
  3214.                 ifpinventory GET_SCUBA 5 { } else { ifrnd 235 spawn BEASTFLAG }
  3215.                 ifpinventory GET_SCUBA 1 { } else { ifrnd 235 spawn BEASTFLAG }
  3216.                 ifpinventory GET_SCUBA 10 { } else { ifrnd 235 spawn BEASTFLAG }
  3217.                 ifpinventory GET_SCUBA 65 { } else { spawn REDMAINFLAG }
  3218.                 ifpinventory GET_SCUBA 75 { } else { spawn BLUEMAINFLAG }
  3219.                 resetplayer
  3220.             }
  3221.             break
  3222.         }
  3223.         else ifaction PEXPLODE
  3224.         {
  3225.             ifactioncount 5
  3226.             {
  3227.                 action PEXPLODEAD
  3228.                 spawn BLOODPOOL
  3229.             }
  3230.             break
  3231.         }
  3232.  
  3233.         else ifp pshrunk
  3234.         {
  3235.             state standard_pjibs
  3236.             spawn BLOODPOOL
  3237.  
  3238.             sound SQUISHED
  3239.             sound DUKE_DEAD
  3240.  
  3241.             cstat 32768                 // Hide the sprite
  3242.  
  3243.             action PLYINGDEAD
  3244.         }
  3245.  
  3246.         else
  3247.         {
  3248.             ifinwater
  3249.             {
  3250.                 action PLYINGDEAD
  3251.                 spawn WATERBUBBLE
  3252.                 spawn WATERBUBBLE
  3253.             }
  3254.             else
  3255.             {
  3256.                 action PEXPLODE
  3257.                 state standard_pjibs
  3258.                 cstat 32768
  3259.                 sound SQUISHED
  3260.                 sound DUKE_DEAD
  3261.             }
  3262.         }
  3263.         break
  3264.     }
  3265.  
  3266.     ifsquished
  3267.     {
  3268.         strength -1
  3269.         sound SQUISHED
  3270.         spawn OOZ
  3271.         break
  3272.     }
  3273.  
  3274.     ifp ponsteroids
  3275.     {
  3276.       action TANKKI
  3277.       ifhitweapon state vehiclehit2 
  3278.       ifp pjetpack { quote 78 ifrnd 7 { addphealth -200 sound RPG_EXPLODE debris SCRAP1 40 action PEXPLODE } }
  3279.       ifpdistg 512 { ifpdistl 1024 { shoot FIRELASER } }
  3280.       addweapon DEVISTATOR_WEAPON DEVISTATORAMMOAMOUNT
  3281.       ifaction PJUMPING { action TANKKI }
  3282.       ifpinventory GET_STEROIDS 2 { } else { addinventory GET_STEROIDS 0 }
  3283.       }
  3284.  
  3285.     ifp pjetpack
  3286.     {
  3287.       ifcount 600 { quote 79 ifhitspace { spawn TRANSPORTERSTAR ifrnd 128 sound HK1 else sound HK2 resetcount } }
  3288.       action HELIKO
  3289.       ifhitweapon state vehiclehit2
  3290.       addweapon DEVISTATOR_WEAPON DEVISTATORAMMOAMOUNT          
  3291.     }
  3292.      
  3293.     
  3294.     ifmove PSHRINKING
  3295.     {
  3296.         ifcount 32
  3297.         {
  3298.             ifcount SHRUNKDONECOUNT move 0
  3299.             else ifcount SHRUNKCOUNT
  3300.             {
  3301.                 sizeto 42 36
  3302.                 ifgapzl 24
  3303.                 {
  3304.                     strength 0
  3305.                     sound SQUISHED
  3306.                     palfrom 48 64
  3307.                     break
  3308.                 }
  3309.             }
  3310.             else ifp ponsteroids count SHRUNKCOUNT
  3311.         }
  3312.         else
  3313.         {
  3314.             ifp ponsteroids count SHRUNKCOUNT
  3315.             else { sizeto 8 9 spawn FRAMEEFFECT1 }
  3316.         }
  3317.     }
  3318.  
  3319.     else ifhitweapon
  3320.     {
  3321.         ifdead { ifmultiplayer sound DUKE_KILLED4 }
  3322.         else
  3323.         {
  3324.             ifmultiplayer
  3325.             {
  3326.                 ifpinventory GET_SCUBA 2 { } else { ifrnd 128 sound PREDAPAIN1 else sound PREDAPAIN2 }
  3327.                 ifphealthl YELLHURTSOUNDSTRENGTHMP
  3328.                 {
  3329.                     ifrnd 64 sound DUKE_LONGTERM_PAIN2
  3330.                     else ifrnd 64 sound DUKE_LONGTERM_PAIN3
  3331.                     else ifrnd 64 sound DUKE_LONGTERM_PAIN4
  3332.                     else sound DUKE_DEAD
  3333.                 }
  3334.                 else
  3335.                 {
  3336.                     ifrnd 64 sound DUKE_LONGTERM_PAIN5
  3337.                     else ifrnd 64 sound DUKE_LONGTERM_PAIN6
  3338.                     else ifrnd 64 sound DUKE_LONGTERM_PAIN7
  3339.                     else sound DUKE_LONGTERM_PAIN8
  3340.                 }
  3341.             }
  3342.             else
  3343.             {
  3344.                 ifpinventory GET_SCUBA 2 { } else { ifrnd 128 sound PREDAPAIN1 else sound PREDAPAIN2 }     
  3345.                 ifphealthl YELLHURTSOUNDSTRENGTH
  3346.                 {
  3347.                     ifrnd 74 sound DUKE_LONGTERM_PAIN2
  3348.                     else ifrnd 8 sound DUKE_LONGTERM_PAIN3
  3349.                     else sound DUKE_LONGTERM_PAIN4
  3350.                 }
  3351.                 ifrnd 128 sound DUKE_LONGTERM_PAIN
  3352.             }
  3353.         }
  3354.         
  3355.         ifstrength TOUGH
  3356.         {
  3357.             state headhitstate
  3358.             sound DUKE_GRUNT
  3359.             ifp pstanding action PFLINTCHING
  3360.         }
  3361.  
  3362.         ifwasweapon RPG
  3363.         {
  3364.             addphealth -30
  3365.             ifrnd 32 spawn BLOOD
  3366.             ifdead state standard_pjibs
  3367.             palfrom 48 52
  3368.             break
  3369.         }
  3370.  
  3371.         ifwasweapon SPIT
  3372.         { addphealth 30 break }
  3373.  
  3374.         ifwasweapon RADIUSEXPLOSION
  3375.         {
  3376.             ifrnd 32 spawn BLOOD
  3377.             ifdead state standard_pjibs
  3378.             palfrom 48 52
  3379.             break
  3380.         }
  3381.         
  3382.         ifwasweapon FIREEXT
  3383.         {
  3384.             ifrnd 32 spawn BLOOD
  3385.             ifdead state standard_pjibs
  3386.             palfrom 48 52
  3387.             break
  3388.         }
  3389.         
  3390.         ifwasweapon FIRELASER 
  3391.         {
  3392.              palfrom 24 16
  3393.              sound SQUISHED
  3394.              ifrnd 32 spawn BLOOD
  3395.              ifdead state standard_pjibs
  3396.              break
  3397.         }
  3398.  
  3399.         ifwasweapon SHOTSPARK1 palfrom 24 48
  3400.         else ifwasweapon SHRINKSPARK
  3401.         {
  3402.             ifrnd 128 spawn BLOOD
  3403.             palfrom 48 52
  3404.             ifp pdead action PTHROWNBACK 
  3405.             break
  3406.         }
  3407.         else ifwasweapon COOLEXPLOSION1 palfrom 48 48 0 48
  3408.         else ifwasweapon KNEE palfrom 16 32
  3409.         state check_dead_thrown_back
  3410.         state random_wall_jibs
  3411.  
  3412.         break
  3413.     }
  3414.  
  3415.     ifaction INVI
  3416.     {
  3417.     cstat 33025
  3418.     ifcount 40 { quote 138 soundonce PREDALOAD }
  3419.     ifcount 200 
  3420.                 { stopsound PREDALOAD quote 139 
  3421.                   ifhitweapon { 
  3422.                                 resetcount  
  3423.                                 ifrnd 128 soundonce PREDAPAIN1 else soundonce PREDAPAIN2
  3424.                               }
  3425.                    ifhitspace 
  3426.                         { palfrom 48 52 spawn EXPLOSION2 sound LASER2 shoot FIRELASER resetcount } 
  3427.                 } 
  3428.    
  3429.     ifrnd 1 { 
  3430.                 { ifrnd 128 
  3431.                         { cstat 259 action EYES }
  3432.                 }
  3433.              }
  3434.     else ifrnd 1 { 
  3435.                    ifrnd 128 soundonce PREDSFX1      
  3436.                    else soundonce PREDSFX2
  3437.                  }
  3438.     }
  3439.     
  3440.     
  3441.     ifaction EYES
  3442.     { 
  3443.     cstat 259
  3444.     soundonce PREDEYES 
  3445.     ifactioncount 7 { cstat 33025 action INVI } 
  3446.     }
  3447.     
  3448.     ifaction PFLINTCHING
  3449.     {
  3450.         ifactioncount 2 action PSTAND
  3451.         break
  3452.     }
  3453.  
  3454.     ifinwater
  3455.     {
  3456.        ifaction PTREDWATER
  3457.         {
  3458.             ifp pwalking prunning action PSWIMMINGGO
  3459.         }
  3460.         else ifp pstanding pwalkingback prunningback action PTREDWATER
  3461.         else
  3462.         {
  3463.             ifaction PSWIMMING
  3464.             {
  3465.                 ifrnd 4 spawn WATERBUBBLE
  3466.                 ifactioncount 4
  3467.                     action PSWIMMINGWAIT
  3468.             }
  3469.             else ifaction PSWIMMINGWAIT
  3470.             {
  3471.                 ifactioncount 2
  3472.                     action PSWIMMINGGO
  3473.             }
  3474.             else ifaction PSWIMMINGGO
  3475.             {
  3476.                 ifactioncount 2
  3477.                     action PSWIMMING
  3478.             }
  3479.             else action PTREDWATER
  3480.         }
  3481.         ifrnd 4 spawn WATERBUBBLE // For effect
  3482.  
  3483.         break
  3484.     }
  3485.     else
  3486.     {
  3487.         ifaction PTREDWATER action PSTAND
  3488.         ifaction PSWIMMING action PSTAND
  3489.         ifaction PSWIMMINGWAIT action PSTAND
  3490.         ifaction PSWIMMINGGO action PSTAND
  3491.         ifaction PJPHOUVER action PFALLING
  3492.     }
  3493.  
  3494.     ifaction PFALLING
  3495.     {
  3496.         ifp ponground
  3497.             action PSTAND
  3498.         else
  3499.         {
  3500.             ifp pfalling break
  3501.             else state check_pstandard
  3502.         }
  3503.     }
  3504.  
  3505.     ifaction PDUCKING
  3506.     {
  3507.         ifgapzl 48
  3508.         {
  3509.             ifp pwalking pwalkingback prunning prunningback action PCRAWLING
  3510.         }
  3511.         else ifp pducking
  3512.         {
  3513.             ifp pwalking pwalkingback prunning prunningback action PCRAWLING
  3514.         }
  3515.         else
  3516.         {
  3517.             ifp pstanding action PSTAND
  3518.             else state check_pstandard
  3519.         }
  3520.     }
  3521.  
  3522.     else ifaction PCRAWLING
  3523.     {
  3524.         ifgapzl 48
  3525.         {
  3526.             ifp pstanding action PCRAWLING
  3527.         }
  3528.         else ifp pducking
  3529.         {
  3530.             ifp pstanding action PDUCKING
  3531.         }
  3532.         else
  3533.         {
  3534.             ifp pstanding action PSTAND
  3535.             else state check_pstandard
  3536.         }
  3537.     }
  3538.     else ifgapzl 48 action PDUCKING
  3539.  
  3540.     else ifaction PJUMPING
  3541.     {
  3542.         ifp ponground action PSTAND
  3543.         else ifactioncount 4 ifp pfalling action PFALLING
  3544.     }
  3545.  
  3546.     ifp pfalling action PFALLING
  3547.     else ifaction PSTAND state check_pstandard
  3548.     else ifaction PAKICKING
  3549.     {
  3550.         ifactioncount 2 action PSTAND
  3551.         break
  3552.     }
  3553.     else ifaction PWALK
  3554.     {
  3555.         ifp pfalling action PFALLING
  3556.         else ifp pstanding action PSTAND
  3557.         else ifp prunning action PRUN
  3558.         else ifp pwalkingback action PWALKBACK
  3559.         else ifp prunningback action PRUNBACK
  3560.         else ifp pjumping
  3561.             action PJUMPING
  3562.         else ifp pducking action PDUCKING
  3563.     }
  3564.  
  3565.     else ifaction PRUN
  3566.     {
  3567.         ifp pstanding action PSTAND
  3568.         else ifp pwalking action PWALK
  3569.         else ifp pwalkingback action PWALKBACK
  3570.         else ifp prunningback action PRUNBACK
  3571.         else ifp pjumping
  3572.             action PJUMPING
  3573.         else ifp pducking action PDUCKING
  3574.     }
  3575.  
  3576.     else ifaction PWALKBACK
  3577.     {
  3578.         ifp pstanding action PSTAND
  3579.         else ifp pwalking action PWALK
  3580.         else ifp prunning action PRUN
  3581.         else ifp prunningback action PRUNBACK
  3582.         else ifp pjumping
  3583.             action PJUMPING
  3584.         else ifp pducking action PDUCKING
  3585.     }
  3586.  
  3587.     else ifaction PRUNBACK
  3588.     {
  3589.         ifp pstanding action PSTAND
  3590.         else ifp pwalking action PWALK
  3591.         else ifp prunning action PRUN
  3592.         else ifp pwalkingback action PWALKBACK
  3593.         else ifp pjumping
  3594.             action PJUMPING
  3595.         else ifp pducking action PDUCKING
  3596.     }
  3597.  
  3598.     ifaction PCRAWLING { ifhitspace { ifactioncount 5 { 
  3599.         ifpinventory GET_SCUBA 5 { } else { 
  3600.     ifpinventory GET_JETPACK JETPACK_AMOUNT { addinventory GET_JETPACK 0 }
  3601.     ifpinventory GET_STEROIDS STEROID_AMOUNT { addinventory GET_STEROIDS 0 }
  3602.     ifpinventory GET_BOOTS BOOT_AMOUNT { addinventory GET_BOOTS 0 }
  3603.     addinventory GET_SCUBA 2 cstat 33025 action INVI                                      
  3604.                                           }   
  3605.                      
  3606.         ifpinventory GET_BOOTS 22 { } else { spawn TRIPFLARE quote 108 addinventory GET_BOOTS 0 resetactioncount }
  3607.         ifpinventory GET_BOOTS 24 { } else { spawn TRIPFLARE quote 108 addinventory GET_BOOTS 22 resetactioncount }
  3608.         ifpinventory GET_BOOTS 26 { } else { spawn TRIPFLARE quote 108 addinventory GET_BOOTS 24 resetactioncount } 
  3609.         ifpinventory GET_BOOTS 28 { } else { spawn TRIPFLARE quote 108 addinventory GET_BOOTS 26 resetactioncount }  
  3610.         ifpinventory GET_BOOTS 30 { } else { spawn TRIPFLARE quote 108 addinventory GET_BOOTS 28 resetactioncount } 
  3611.        
  3612.         ifpinventory GET_BOOTS 42 { } else { spawn MINE quote 42 addinventory GET_BOOTS 0 resetactioncount } 
  3613.         ifpinventory GET_BOOTS 44 { } else { spawn MINE quote 42 addinventory GET_BOOTS 42 resetactioncount } 
  3614.         ifpinventory GET_BOOTS 46 { } else { spawn MINE quote 42 addinventory GET_BOOTS 44 resetactioncount } 
  3615.         ifpinventory GET_BOOTS 48 { } else { spawn MINE quote 42 addinventory GET_BOOTS 46 resetactioncount }
  3616.         ifpinventory GET_BOOTS 50 { } else { spawn MINE quote 42 addinventory GET_BOOTS 48 resetactioncount }                                               
  3617.         
  3618.         ifpinventory GET_BOOTS 62 { } else { spawn RUBBERCAN quote 150 addinventory GET_BOOTS 0 resetactioncount }                                               
  3619.         ifpinventory GET_BOOTS 64 { } else { spawn RUBBERCAN quote 150 addinventory GET_BOOTS 62 resetactioncount }                                               
  3620.         ifpinventory GET_BOOTS 66 { } else { spawn RUBBERCAN quote 150 addinventory GET_BOOTS 64 resetactioncount }                                               
  3621.                         
  3622. // special
  3623.         ifpinventory GET_BOOTS 140 { } else { spawn BATTERYAMMO spawn BATTERYAMMO spawn BATTERYAMMO addinventory GET_BOOTS 147 quote 170 resetactioncount }
  3624.         ifpinventory GET_BOOTS 141 { } else { spawn BATTERYAMMO addinventory GET_BOOTS 149 quote 170 resetactioncount }
  3625.         ifpinventory GET_BOOTS 145 { } else { shoot SPIT quote 173 resetactioncount }
  3626.         ifpinventory GET_BOOTS 146 { } else { spawn RADIOMAN addinventory GET_BOOTS 148 quote 174 resetactioncount }
  3627.         ifpinventory GET_BOOTS 142 { } else { addammo GROW_WEAPON 20 addinventory GET_BOOTS 150 quote 175 resetactioncount }
  3628.         ifpinventory GET_BOOTS 150 { } else { addammo GROW_WEAPON 20 addinventory GET_BOOTS 151 quote 175 resetactioncount }
  3629.  
  3630.         ifpinventory GET_BOOTS 110 { } else { spawn RUBBERCAN addinventory GET_BOOTS 112 quote 171 resetactioncount }
  3631.         ifpinventory GET_BOOTS 111 { } else { spawn RUBBERCAN addinventory GET_BOOTS 110 quote 171 resetactioncount }
  3632.         ifpinventory GET_BOOTS 143 { } else { spawn RUBBERCAN addinventory GET_BOOTS 111 quote 171 resetactioncount }
  3633.  
  3634.         ifpinventory GET_BOOTS 152 { } else { spawn AMMO addinventory GET_BOOTS 153 quote 170 resetactioncount }
  3635.  
  3636.  
  3637. // flare4pm   ifpinventory GET_BOOTS 144 { } else { sound GENERIC_AMBIENCE22 spawn CRYSTALAMMO quote 172 resetactioncount }
  3638.  
  3639.         resetactioncount                                        
  3640.                 }
  3641.         }
  3642. }
  3643. enda
  3644.  
  3645.  
  3646. state rf
  3647.     ifrnd 128 cstat 4
  3648.     else cstat 0
  3649. ends
  3650.  
  3651. action ATROOPSTAND       0    1    5    1    1
  3652. action ATROOPSTAYSTAND  -2    1    5    1    1
  3653. action ATROOPWALKING     0    4    5    1   12
  3654. action ATROOPWALKINGBACK 15   4    5   -1   12
  3655. action ATROOPRUNNING     0    4    5    1    8
  3656. action ATROOPSHOOT      35    1    5    1   30
  3657. action ATROOPJETPACK    40    1    5    1    1
  3658. action ATROOPJETPACKILL 40    2    5    1   50
  3659. action ATROOPFLINTCH    50    1    1    1    6
  3660. action ATROOPDYING      50    5    1    1   16
  3661. action ATROOPDEAD       54    1    1    1   15
  3662. action ATROOPPLAYDEAD   20    1    1    1   25
  3663. action ATROOPSUFFERDEAD 58    2    1   -4   24
  3664. action ATROOPSUFFERING  59    2    1    1   21
  3665. action ATROOPDUCK       64    1    5    1    3
  3666. action ATROOPDUCKSHOOT  64    2    5    1   25
  3667.  
  3668.  
  3669. move TROOPWALKVELS 130
  3670. move TROOPWALKVELSBACK -72
  3671. move TROOPRUNVELS 150
  3672. move TROOPSTOPPED
  3673. move DONTGETUP
  3674. move SHRUNKVELS 32
  3675.  
  3676. ai AITROOPSEEKPLAYER ATROOPWALKING   TROOPWALKVELS seekplayer
  3677. ai AITROOPHAEPELAAJA ATROOPRUNNING TROOPRUNVELS seekplayer
  3678. ai AITROOPKAMIKAZE   ATROOPPLAYDEAD TROOPSTOPPED faceplayer
  3679. ai AITROOPTUSKA      ATROOPDEAD   TROOPSTOPPED faceplayer
  3680.  
  3681.  
  3682. state troophaepelaaja
  3683. ifai AITROOPKAMIKAZE
  3684. {
  3685. ifcansee
  3686.    {
  3687.     ifpdistl 1024
  3688.      {
  3689.      ifcanshoottarget 
  3690.      ifcount 5 { sound PIG_RECOG }
  3691.      ifcount 6
  3692.       {
  3693.       resetcount
  3694.       spawn EXPLOSION2 sound RPG_EXPLODE hitradius 2048 25 50 80 120
  3695.       state standard_jibs state delete_enemy
  3696.       }
  3697.       }
  3698.       else
  3699.       ai AITROOPHAEPELAAJA
  3700.       }
  3701.       else ai AITROOPHAEPELAAJA
  3702.       break
  3703.       }
  3704. ifcansee
  3705. {
  3706. ifpdistl 1024
  3707. ifcanshoottarget
  3708.  ai AITROOPKAMIKAZE
  3709. }
  3710. ends
  3711.  
  3712. state trooptuska
  3713. ifdead { sound RPG_EXPLODE state standard_jibs spawn EXPLOSION2 hitradius 2048 25 50 80 120 killit }
  3714. else { sound PIG_PAIN }
  3715. ifactioncount 2 ai AITROOPHAEPELAAJA
  3716.  
  3717. ends
  3718.  
  3719. state troophidestate
  3720. ends
  3721.  
  3722.  
  3723. state troopgunnashoot
  3724. ends
  3725.  
  3726. state troopseekstate
  3727. ends
  3728.  
  3729. state troopduckstate
  3730. ends
  3731.  
  3732. state troopshootstate
  3733. ends
  3734.  
  3735. state troopfleestate
  3736. ends
  3737.  
  3738. state troopdying
  3739.     iffloordistl 32 { ifactioncount 5 { cstat 0 iffloordistl 8 sound THUD ifrnd 64 spawn BLOODPOOL state rf strength 0 move TROOPSTOPPED action ATROOPDEAD } break }
  3740.     else { state rf move 0 action ATROOPDYING }
  3741. ends
  3742.  
  3743. state checktroophit
  3744.     ifaction ATROOPSUFFERING { stopsound LIZARD_BEG sound PRED_DYING cstat 0 strength 0 action ATROOPSUFFERDEAD break }
  3745.     ifdead
  3746.     {
  3747.         ifwasweapon SHRINKSPARK { }
  3748.  
  3749.         state drop_ammo
  3750.         state random_wall_jibs
  3751.         addkills 1
  3752.  
  3753.         ifwasweapon RPG { sound SQUISHED state troop_body_jibs state standard_jibs state delete_enemy }
  3754.         else ifwasweapon RADIUSEXPLOSION { sound SQUISHED state troop_body_jibs state standard_jibs state delete_enemy }
  3755.         else { sound PRED_DYING ifrnd 32 iffloordistl 32 { sound LIZARD_BEG spawn BLOODPOOL strength 0 move 0 action ATROOPSUFFERING break } action ATROOPDYING break }
  3756.     }
  3757.     else
  3758.     {
  3759.         state random_wall_jibs
  3760.         sound PRED_PAIN
  3761.     }
  3762. ends
  3763.  
  3764. state troopjetpackstate
  3765. ends
  3766.  
  3767. state checksquished
  3768.     ifsquished { addkills 1 sound SQUISHED state standard_jibs spawn OOZ state delete_enemy }
  3769. ends
  3770.  
  3771. state troopsufferingstate
  3772. ends
  3773.  
  3774. state troopshrunkstate
  3775. ends
  3776.  
  3777. state troopcode 
  3778. ends
  3779.  
  3780. actor LIZTROOP TROOPSTRENGTH ATROOPSTAND faceplayer  
  3781. fall
  3782. ifp ponsteroids { ifpdistl 1024 { state standard_pjibs sound SQUISHED state delete_enemy } }
  3783. ifaction ATROOPSTAND
  3784. ai AITROOPHAEPELAAJA
  3785. ifai AITROOPTUSKA 
  3786.         { state trooptuska break }
  3787. ifhitweapon { ifrnd 70 { addstrength -56 }
  3788.               ai AITROOPTUSKA break
  3789.             }
  3790. ifai AITROOPHAEPELAAJA state troophaepelaaja
  3791. ifai AITROOPKAMIKAZE state troophaepelaaja
  3792. enda
  3793.  
  3794.  
  3795.  
  3796. action SOLIC1 1811   4   5   1   17
  3797. action SOLIC2 1811   1   5   1   1
  3798. action SOLIC3 1811   1   5   1   1
  3799. action SOLDIE 1831   5   1   1   18
  3800. action SOLPAIN 1831  1   1   1   10
  3801. action SOLDED 1836 1 1 
  3802. action SOLCEE 1837 1 1 1 10
  3803. action SOLMINE 1838 1 1 1 10
  3804.  
  3805. move solspeed 93
  3806. move soltopspeed 108
  3807. move solstop 0 
  3808. move soljumpspeed 120 -95
  3809.  
  3810. ai AISOLIC SOLIC1 solspeed seekplayer 
  3811. ai AISOLICHEAL SOLIC2 solstop faceplayer
  3812. ai AISOLSNIPE1 SOLIC2 solstop faceplayer
  3813. ai AISOLDYING SOLDIE solstop faceplayer
  3814. ai AISOLPAIN SOLPAIN solstop faceplayer 
  3815. ai AISOLBULLET SOLIC1 soltopspeed dodgebullet
  3816. ai AISOLSTAY SOLIC2 solstop faceplayer
  3817. ai AISOLJUMP SOLIC1 soljumpspeed faceplayer
  3818. ai AISOLPAIN2 SOLPAIN solstop faceplayer
  3819. ai AISOLDEMO SOLCEE solstop faceplayer
  3820. ai AISOLMINE SOLMINE solstop faceplayer
  3821.  
  3822. ai AISOLFOLLOW SOLIC1 solspeed faceplayer
  3823. ai AISOLFOLLOWSTOP SOLIC2 solstop faceplayer
  3824.  
  3825. state mil
  3826. {
  3827. ifcansee { ifpdistl 1700 { ai AISOLICHEAL } } 
  3828. else { }
  3829. }
  3830. ends
  3831.  
  3832. state milheal
  3833. ifpdistl 1000 { ifcount 20 { ifhitspace { quote 128 sound BOS2_RECOG ai AISOLFOLLOW } } }
  3834. else ifpdistg 1700 { ai AISOLIC }
  3835. }
  3836. ends
  3837.  
  3838. state mildying  
  3839. ifactioncount 5 action SOLDED 
  3840. }
  3841. ends
  3842.  
  3843. state milpain
  3844. {
  3845.         ifdead {
  3846.                 ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_pjibs killit break }
  3847.                 else ifwasweapon RPG { sound SQUISHED state standard_pjibs killit break }
  3848.                 else ai AISOLDYING
  3849.                 }  
  3850.          
  3851.         else { sound BOS2_PAIN ai AISOLPAIN2 }
  3852. }
  3853. ends
  3854.  
  3855. state milpain2
  3856.         {
  3857.         ifactioncount 2 { ifrnd 128 ai AISOLBULLET else ai AISOLIC } 
  3858.         }
  3859. ends
  3860.  
  3861. state milbullet
  3862.         {
  3863.         ifactioncount 55 ai AISOLIC
  3864.         }
  3865. ends
  3866.  
  3867. state milfollow
  3868.         { 
  3869.         ifpdistl 1700 { ifcansee { ai AISOLFOLLOWSTOP } }
  3870.         else ifcount 40 { ifp phigher { ifpdistl 5000 { ai AISOLJUMP } } }
  3871.         else ifcansee { } else { ifcount 325 { ai AISOLIC } }
  3872.         else ifpdistg 7192 { ai AISOLIC }
  3873.         }
  3874. ends
  3875.  
  3876. state miljump
  3877.         {
  3878.         ifactioncount 4 ai AISOLFOLLOW
  3879.         }
  3880. ends
  3881.  
  3882. state milfollowstop
  3883. {
  3884. ifpdistl 1000 { ifcount 32 { ifhitspace { ifp pducking { sound BOS2_ROAM quote 130 ai AISOLMINE }
  3885.                                                else { quote 129 sound BOS1_ROAM ai AISOLSTAY } 
  3886.                                              } 
  3887.                                 }           
  3888.                     }
  3889. else ifpdistg 1700 ai AISOLFOLLOW 
  3890. }
  3891. ends
  3892.  
  3893. state milstay
  3894. ifpdistl 1000 { ifcount 32 { ifhitspace { ifp pducking { sound BOS2_ROAM quote 131 ai AISOLDEMO }
  3895.                                                else { quote 128 sound BOS2_ATTACK ai AISOLFOLLOW } 
  3896.                                              } 
  3897.                                 }           
  3898.                     }
  3899. }
  3900. ends
  3901.  
  3902. state milmine
  3903. ifcount 110 { spawn MINE ai AISOLFOLLOW }
  3904. ends
  3905.  
  3906. state mildemo
  3907. ifcount 65 { sound BOS2_DYING spawn RUBBERCAN ai AISOLBULLET }
  3908. ends
  3909.  
  3910. useractor notenemy DEMOMAN 80 SOLIC3 fall
  3911. sizeat 38 38 cstat 257
  3912. ifp ponsteroids { ifpdistl 1024 { state standard_pjibs killit } }
  3913. ifaction SOLIC3 ai AISOLIC
  3914. else ifaction SOLDED
  3915.        {
  3916.         cstat 256 move 0 strength 0 ifhitweapon ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_jibs state delete_enemy } break
  3917.        }
  3918.  
  3919. else
  3920.        {
  3921.           ifai AISOLIC state mil
  3922.           else ifai AISOLICHEAL state milheal
  3923.           else ifai AISOLDYING state mildying
  3924.           else ifai AISOLBULLET state milbullet
  3925.           else ifai AISOLSTAY state milstay
  3926.           else ifai AISOLJUMP state miljump
  3927.           else ifai AISOLPAIN2 state milpain2
  3928.           else ifai AISOLFOLLOW state milfollow
  3929.           else ifai AISOLFOLLOWSTOP state milfollowstop
  3930.           else ifai AISOLDEMO state mildemo
  3931.           else ifai AISOLMINE state milmine
  3932.           ifbulletnear state milbullet
  3933.           ifinwater { ifrnd 4 { strength 0 state mildying } }
  3934.           ifhitweapon state milpain
  3935.        }
  3936. enda
  3937.  
  3938. action ATROOPAIMING2 0 1 5 1 1
  3939. action ATROOPSNIPE2 0 2 5 1 5
  3940. action ATROOPLIIKKUU2 0 1 5 1 1
  3941. action ASNIPEDYING2 1834 5 1 1 15
  3942. action ASNIPEDEAD2 301 1 1 1 1
  3943. action JUOVIA 0 2 5 1 5
  3944.  
  3945. move snipe2
  3946.  
  3947. actor LIZTROOPDUCKING TROOPSTRENGTH ATROOPAIMING2 faceplayersmart
  3948.  
  3949. fall
  3950. ifp ponsteroids { ifpdistl 1024 { state standard_pjibs sound SQUISHED state delete_enemy } }
  3951.  
  3952.     ifaction 0
  3953.     {
  3954.         action ATROOPAIMING2
  3955.         move snipe2 faceplayersmart
  3956.     }
  3957.     else ifaction ATROOPLIIKKUU2
  3958.     {    
  3959.         { action ATROOPSNIPE2 move snipe2 faceplayersmart  }
  3960.         
  3961.     }
  3962.     else ifaction ATROOPSNIPE2
  3963.     {
  3964.         ifcount 4 { sound HMG shoot SHOTSPARK1 shoot SHOTSPARK1
  3965.                     ifspritepal 10 { ifrnd 50 action JUOVIA }
  3966.                     resetcount
  3967.                   }
  3968.         else ifcansee { } else { action ATROOPAIMING2 }
  3969.         else action ATROOPSNIPE2 
  3970.     }                                                                                                    
  3971.  
  3972.     else ifaction JUOVIA
  3973.     {
  3974.        ifcount 4 { sound HMG spawn SHARK
  3975.                    shoot SHOTSPARK1 shoot SHOTSPARK1
  3976.                    ifrnd 30 action ATROOPSNIPE2
  3977.                    resetcount
  3978.                  }
  3979.  
  3980.        else ifcansee { } else { action ATROOPAIMING2 }
  3981.        else action JUOVIA
  3982.     }
  3983.  
  3984.     else ifaction ATROOPAIMING2
  3985.     { 
  3986.     ifcount 5 { ifp palive { ifcansee { action ATROOPLIIKKUU2 } } } 
  3987.     else action ATROOPAIMING2
  3988.     }
  3989.     
  3990.     ifhitweapon 
  3991.     {
  3992.     ifrnd 50 { addstrength -56 }
  3993.     ifdead
  3994.          { 
  3995.             ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_jibs state delete_enemy break } 
  3996.             else ifwasweapon RPG { sound SQUISHED state standard_jibs state delete_enemy break }            
  3997.             else { sound PIG_DYING action ASNIPEDYING2 }
  3998.          }    
  3999.            else { sound PIG_PAIN spawn BLOOD action ATROOPAIMING2 move 0 }
  4000.          }
  4001.  
  4002.     else ifaction ASNIPEDYING2
  4003.     { ifactioncount 5 { ifrnd 64 spawn BLOODPOOL state rf iffloordistl 8 sound THUD action ASNIPEDEAD2 } }
  4004.  
  4005.     else ifaction ASNIPEDEAD2
  4006.     { strength 0 
  4007.       ifhitweapon { ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_jibs state delete_enemy break } }
  4008.       break 
  4009.     }
  4010.  
  4011.  
  4012. enda
  4013.  
  4014. action ATROOPAIMING 0 1 5 1 1 
  4015. action ATROOPLIIKKUU 0 1 5 1 1
  4016. action ATROOPSNIPE 5 1 5 1 10
  4017. action ASNIPEDYING 465 5 1 1 15
  4018. action ASNIPEDEAD 470 1 1 1 1
  4019.  
  4020. move snipe
  4021.  
  4022. actor LIZTROOPSHOOT TROOPSTRENGTH ATROOPAIMING faceplayersmart
  4023. fall
  4024. ifp ponsteroids { ifpdistl 1024 { state standard_pjibs sound SQUISHED state delete_enemy } }
  4025.  
  4026.     ifaction 0
  4027.     {
  4028.         action ATROOPAIMING
  4029.         move snipe faceplayersmart
  4030.     }
  4031.     else ifaction ATROOPLIIKKUU
  4032.     {    
  4033.         { action ATROOPSNIPE move snipe faceplayersmart  }
  4034.         
  4035.     }
  4036.     else ifaction ATROOPSNIPE
  4037.     {
  4038.         ifcount 4 { sound SNIPER shoot SHOTSPARK1 shoot SHOTSPARK1 shoot SHOTSPARK1 shoot SHOTSPARK1 shoot SHOTSPARK1 action ATROOPAIMING }   
  4039.         else ifcount 15 { ifpdistg 3000 { ifrnd 128 action ATROOPAIMING } }
  4040.         else ifcount 60 resetcount 
  4041.         else action ATROOPSNIPE
  4042.     }                                                                                                    
  4043.     else ifaction ATROOPAIMING
  4044.     { 
  4045.     ifcount 80 { ifrnd 20 { ifp palive { ifcansee { action ATROOPLIIKKUU } } } }
  4046.     else ifcount 20 { ifp palive { ifcansee { ifpdistl 3000 action ATROOPLIIKKUU } } }
  4047.     else action ATROOPAIMING
  4048.     }
  4049.     
  4050.     ifhitweapon 
  4051.     {
  4052.     ifrnd 70 { addstrength -56 }
  4053.     ifdead
  4054.          { 
  4055.             ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_jibs state delete_enemy break } 
  4056.             else ifwasweapon RPG { sound SQUISHED state standard_jibs state delete_enemy break }
  4057.             else { sound PIG_DYING action ASNIPEDYING }
  4058.          }    
  4059.            else { sound PIG_PAIN spawn BLOOD action ATROOPAIMING move 0 }
  4060.          }
  4061.  
  4062.     else ifaction ASNIPEDYING
  4063.     { ifactioncount 5 { ifrnd 64 spawn BLOODPOOL state rf iffloordistl 8 sound THUD action ASNIPEDEAD } }
  4064.  
  4065.     else ifaction ASNIPEDEAD
  4066.     { strength 0 
  4067.       ifhitweapon { ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_jibs state delete_enemy break } }
  4068.       break 
  4069.     }
  4070.  
  4071. enda
  4072.  
  4073. actor LIZTROOPSTAYPUT TROOPSTRENGTH ATROOPSTAYSTAND ai AITROOPSEEKPLAYER cactor LIZTROOP enda
  4074.  
  4075.  
  4076. action RADIC1 1801   4   5   1   17
  4077. action RADIC2 1801   1   5   1   1
  4078. action RADIC3 1801   1   5   1   1
  4079. action RADDIE 1821   5   1   1   18
  4080. action RADPAIN 1821  1   1   1   10
  4081. action RADDED 1826 1 1 
  4082. action RADIC4 1827 1 1 1 10
  4083.  
  4084. move radspeed 93
  4085. move radtopspeed 108
  4086. move radstop 0 
  4087. move radjumpspeed 120 -95
  4088.  
  4089. ai AIRADART RADIC4 radstop faceplayer
  4090. ai AIRADART2 RADIC4 radstop faceplayer
  4091. ai AIRADART3 RADIC4 radstop faceplayer
  4092. ai AIRADIC RADIC1 radspeed seekplayer 
  4093. ai AIRADICHEAL RADIC2 radstop faceplayer
  4094. ai AIRADDYING RADDIE radstop faceplayer
  4095. ai AIRADPAIN RADPAIN radstop faceplayer 
  4096. ai AIRADBULLET RADIC1 radtopspeed dodgebullet
  4097. ai AIRADSTAY RADIC2 radstop faceplayer
  4098. ai AIRADJUMP RADIC1 radjumpspeed faceplayer
  4099. ai AIRADPAIN2 RADPAIN radstop faceplayer
  4100.  
  4101. ai AIRADFOLLOW RADIC1 radspeed faceplayer
  4102. ai AIRADFOLLOWSTOP RADIC2 radstop faceplayer
  4103.  
  4104. state rac
  4105. {
  4106. ifcansee { ifpdistl 1700 { ai AIRADICHEAL } } 
  4107. else { }
  4108. }
  4109. ends
  4110.  
  4111. state racheal
  4112. ifpdistl 1000 { ifcount 20 { ifhitspace { quote 99 sound SLIM_DYING ai AIRADFOLLOW } } }
  4113. else ifpdistg 1700 { ai AIRADIC }
  4114. }
  4115. ends
  4116.  
  4117. state racdying  
  4118. ifactioncount 5 action RADDED 
  4119. }
  4120. ends
  4121.  
  4122. state racpain  
  4123. {
  4124.         stopsound SLIM_HATCH
  4125.         ifdead {
  4126.                 ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_pjibs killit break }
  4127.                 else ifwasweapon RPG { sound SQUISHED state standard_pjibs killit break }
  4128.                 else ai AIRADDYING
  4129.                 }  
  4130.         else { sound SLIM_RECOG ai AIRADPAIN2 }
  4131. }
  4132. ends
  4133.  
  4134. state racpain2
  4135.         {
  4136.         ifactioncount 2 { ifrnd 128 ai AIRADBULLET else ai AIRADIC } 
  4137.         }
  4138. ends
  4139.  
  4140. state racbullet
  4141.         {
  4142.         ifactioncount 55 ai AIRADIC
  4143.         }
  4144. ends
  4145.  
  4146. state racfollow
  4147.         { 
  4148.         ifpdistl 1700 { ifcansee { ai AIRADFOLLOWSTOP } }
  4149.         else ifcount 40 { ifp phigher { ifpdistl 5000 { ai AIRADJUMP } } }
  4150.         else ifcansee { } else { ifcount 325 { ai AIRADIC } }
  4151.         else ifpdistg 7192 { ai AIRADIC }
  4152.         }
  4153. ends
  4154.  
  4155. state racjump
  4156.         {
  4157.         ifactioncount 4 ai AIRADFOLLOW
  4158.         }
  4159. ends
  4160.  
  4161. state racart
  4162. {
  4163. ifcount 240 { 
  4164.               state sharkspawner
  4165.               ai AIRADFOLLOW
  4166.              }
  4167.  
  4168. }
  4169. ends
  4170.  
  4171. state racart3
  4172. { ifcount 240 { state smokespawner ai AIRADFOLLOW } }
  4173. ends
  4174.  
  4175. state racart2
  4176. ifcount 160 ai AIRADFOLLOW
  4177. ends
  4178.  
  4179. state racfollowstop
  4180. {
  4181. ifpdistl 1000
  4182.         { ifcount 8
  4183.                 { ifhitspace
  4184.                         { ifp pducking
  4185.                                 { ifoutside { quote 156 sound SLIM_HATCH ai AIRADART3 } else { sound SLIM_ROAM quote 125 ai AIRADART2 } }
  4186.                           else
  4187.                                 { quote 135 sound SLIM_DYING ai AIRADSTAY }
  4188.                         } 
  4189.                 }           
  4190.         }
  4191. else ifpdistg 1700 ai AIRADFOLLOW 
  4192. }
  4193. ends
  4194.  
  4195. state racstay
  4196. ifpdistl 1000 
  4197.         { ifcount 8 
  4198.                 { ifhitspace 
  4199.                         { ifp pducking 
  4200.                                 { ifrnd 192 { quote 64 sound SLIM_HATCH ai AIRADART } else { sound SLIM_ROAM quote 125 ai AIRADART2 } }
  4201.                           else 
  4202.                                 { quote 99 sound SLIM_ATTACK ai AIRADFOLLOW }
  4203.                         } 
  4204.                 } 
  4205.         }
  4206.  
  4207. }
  4208. ends
  4209.  
  4210. useractor notenemy RADIOMAN 80 RADIC3 fall
  4211. sizeat 38 38 cstat 257
  4212. ifp ponsteroids { ifpdistl 1024 { state standard_pjibs killit } }
  4213. ifaction RADIC3 { ifspawnedby APLAYER { state sharkspawner killit } else ai AIRADIC }
  4214. else ifaction RADDED
  4215.        {
  4216.         cstat 256 move 0 strength 0 ifhitweapon ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_jibs state delete_enemy } break
  4217.        }
  4218.  
  4219.  
  4220. else
  4221.         {
  4222.           ifai AIRADIC state rac
  4223.           else ifai AIRADICHEAL state racheal
  4224.           else ifai AIRADDYING state racdying
  4225.           else ifai AIRADBULLET state racbullet
  4226.           else ifai AIRADSTAY state racstay
  4227.           else ifai AIRADJUMP state racjump
  4228.           else ifai AIRADART state racart
  4229.           else ifai AIRADART2 state racart2
  4230.           else ifai AIRADART3 state racart3
  4231.           else ifai AIRADPAIN2 state racpain2
  4232.           else ifai AIRADFOLLOW state racfollow
  4233.           else ifai AIRADFOLLOWSTOP state racfollowstop
  4234.           ifbulletnear state racbullet
  4235.           ifinwater { ifrnd 4 { strength 0 state racdying } }
  4236.           ifhitweapon state racpain
  4237.         }
  4238. enda
  4239.  
  4240.  
  4241.  
  4242. action MEDIC1 1724   4   5   1   17
  4243. action MEDIC2 1724   1   5   1   1
  4244. action MEDIC3 1724   1   5   1   1
  4245. action MEDDIE 1744   5   1   1   18
  4246. action MEDPAIN 1744  1   1   1   10
  4247. action MEDDED 1749 1 1 
  4248.  
  4249. move medspeed 93
  4250. move medtopspeed 108
  4251. move medstop 0 
  4252. move medjumpspeed 120 -95
  4253.  
  4254. ai AIMEDIC MEDIC1 medspeed seekplayer 
  4255. ai AIMEDICHEAL MEDIC2 medstop faceplayer
  4256. ai AIMEDDYING MEDDIE medstop faceplayer
  4257. ai AIMEDPAIN MEDPAIN medstop faceplayer 
  4258. ai AIMEDBULLET MEDIC1 medtopspeed dodgebullet
  4259. ai AIMEDSTAY MEDIC2 medstop faceplayer
  4260. ai AIMEDJUMP MEDIC1 medjumpspeed faceplayer
  4261. ai AIMEDPAIN2 MEDPAIN medstop faceplayer
  4262.  
  4263. ai AIMEDFOLLOW MEDIC1 medspeed faceplayer
  4264. ai AIMEDFOLLOWSTOP MEDIC2 medstop faceplayer
  4265.  
  4266. state doc
  4267. {
  4268. ifcansee { ifpdistl 1700 { ai AIMEDICHEAL } } 
  4269. else { ai AIMEDIC }
  4270. }
  4271. ends
  4272.  
  4273. state docheal
  4274. ifphealthl 100 { ifpdistl 1024 { ifcount 15 { addphealth 5 ifrnd 20 { ifrnd 128 soundonce MEDIC33 else soundonce SOLIC22 } resetcount } } }
  4275. else ifpdistl 1000 { ifcount 20 { ifhitspace { quote 126 sound MEDIC11 ai AIMEDFOLLOW } } }
  4276. else ifpdistg 1700 { ai AIMEDIC }
  4277. }
  4278. ends
  4279.  
  4280. state docdying  
  4281. ifactioncount 5 { action MEDDED 
  4282.                   ifrnd 128 { spawn SIXPAK }
  4283.                 }
  4284. }
  4285. ends
  4286.  
  4287. state docpain  
  4288. {
  4289.         ifdead {
  4290.                 ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_pjibs killit break }
  4291.                 else ifwasweapon RPG { sound SQUISHED state standard_pjibs killit break }
  4292.                 else ai AIMEDDYING
  4293.                 }  
  4294.          
  4295.         else { sound SOLIC11 ai AIMEDPAIN2 }
  4296. }
  4297. ends
  4298.  
  4299. state docpain2
  4300.         {
  4301.         ifactioncount 2 { ifrnd 128 ai AIMEDBULLET else ai AIMEDIC } 
  4302.         }
  4303. ends
  4304.  
  4305. state docbullet
  4306.         {
  4307.         ifactioncount 55 ai AIMEDIC
  4308.         }
  4309. ends
  4310.  
  4311. state docfollow
  4312.         { 
  4313.         ifpdistl 1700 { ifcansee { ai AIMEDFOLLOWSTOP } }
  4314.         else ifcount 40 { ifp phigher { ifpdistl 5000 { ai AIMEDJUMP } } }
  4315.         else ifcansee { } else { ifcount 325 { ai AIMEDIC } }
  4316.         else ifpdistg 7192 { ai AIMEDIC }
  4317.         }
  4318. ends
  4319.  
  4320. state docjump
  4321.         {
  4322.         ifactioncount 4 ai AIMEDFOLLOW
  4323.         }
  4324. ends
  4325.  
  4326. state docfollowstop
  4327. {
  4328. ifphealthl 100 { ifpdistl 1024 { ifcount 15 { addphealth 5 ifrnd 20 { ifrnd 128 soundonce MEDIC33 else soundonce SOLIC22 } resetcount } } }
  4329. else ifpdistl 1000 { ifcount 32 { ifhitspace { quote 127 sound MEDIC22 ai AIMEDSTAY } } }
  4330. else ifpdistg 1700 ai AIMEDFOLLOW 
  4331. }
  4332. ends
  4333.  
  4334. state docstay
  4335. ifphealthl 100 { ifpdistl 1000 { ifcount 15 { addphealth 5 ifrnd 20 { ifrnd 128 soundonce MEDIC33 else soundonce SOLIC22 } resetcount } } }
  4336. else ifpdistl 1000 { ifcount 32 { ifhitspace { quote 126 sound BOS1_RECOG ai AIMEDFOLLOW } } }
  4337. }
  4338. ends
  4339.  
  4340. useractor notenemy MEDIC 80 MEDIC3 fall
  4341. sizeat 38 38 cstat 257
  4342. ifp ponsteroids { ifpdistl 1024 { state standard_pjibs killit } }
  4343. ifaction MEDIC3 ai AIMEDIC
  4344. else ifaction MEDDED
  4345.        {
  4346.         cstat 256 move 0 strength 0 ifhitweapon ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_jibs state delete_enemy } break
  4347.        }
  4348.  
  4349.  
  4350. else
  4351.         {
  4352.           ifai AIMEDIC state doc
  4353.           else ifai AIMEDICHEAL state docheal
  4354.           else ifai AIMEDDYING state docdying
  4355.           else ifai AIMEDBULLET state docbullet
  4356.           else ifai AIMEDSTAY state docstay
  4357.           else ifai AIMEDJUMP state docjump
  4358.           else ifai AIMEDPAIN2 state docpain2
  4359.           else ifai AIMEDFOLLOW state docfollow
  4360.           else ifai AIMEDFOLLOWSTOP state docfollowstop
  4361.           ifbulletnear state docbullet
  4362.           ifinwater { ifrnd 4 { strength 0 state docdying } }
  4363.           ifhitweapon state docpain
  4364.         }
  4365. enda
  4366.  
  4367. action ALIZWALKING       0     4    5    1    15
  4368. action ALIZRUNNING       0     4    5    1    11
  4369. action ALIZTHINK         70    1    5    1    30
  4370. action ALIZSCREAM        70    1    5    1    30
  4371. action ALIZJUMP          70    1    5    1    30
  4372. action ALIZFALL          70
  4373. action ALIZSHOOTING      70    2    5    1    7
  4374. action ALIZDYING         60    6    1    1    15
  4375. action ALIZLYINGDEAD     65    1
  4376. action ALIZFROZEN         0    1    5
  4377.  
  4378. move LIZWALKVEL 36
  4379. move LIZRUNVEL 96
  4380. move LIZJUMPVEL 0
  4381. move LIZSTOP
  4382.  
  4383. ai AILIZGETENEMY ALIZWALKING LIZWALKVEL seekplayer
  4384. ai AILIZDODGE ALIZTHINK LIZSTOP faceplayerslow
  4385. ai AILIZCHARGEENEMY ALIZRUNNING LIZRUNVEL seekplayer
  4386. ai AILIZFLEENEMY ALIZSHOOTING LIZSTOP faceplayer
  4387. ai AILIZSHOOTENEMY ALIZSHOOTING LIZSTOP faceplayer
  4388. ai AILIZJUMPENEMY ALIZJUMP LIZJUMPVEL jumptoplayer
  4389. ai AILIZSHRUNK ALIZWALKING SHRUNKVELS fleeenemy
  4390. ai AILIZSPIT ALIZSCREAM LIZSTOP faceplayerslow
  4391. ai AILIZDYING ALIZDYING LIZSTOP faceplayer
  4392.  
  4393. state lizseekstate
  4394.  
  4395.     ifactornotstayput
  4396.     {
  4397.         ifcansee ifp palive ifpdistl 15360 ifcount 16 { ai AILIZSHOOTENEMY break }
  4398.         ifai AILIZCHARGEENEMY
  4399.         {
  4400.             ifcount 72 ifcansee { ai AILIZSHOOTENEMY break }
  4401.         }
  4402.         else ifpdistl 15360 { ifrnd 92 { ifcount 48 ifcansee ai AILIZSHOOTENEMY } else ifcount 24 { ai AILIZCHARGEENEMY break } }
  4403.  
  4404.         ifrnd 4 ifnotmoving operate
  4405.         else ifrnd 1 ifbulletnear
  4406.         {
  4407.             ifgapzl 128 ai AILIZGETENEMY
  4408.             else ifactornotstayput ai AILIZGETENEMY 
  4409.         }
  4410.     }
  4411.     else
  4412.     {
  4413.         ifactioncount 16 { ifp palive ifrnd 32 ifcansee ai AILIZSHOOTENEMY }
  4414.         ifcount 16 ifrnd 32 move LIZWALKVEL randomangle geth
  4415.     }
  4416.  
  4417. ends
  4418.  
  4419. state lizshrunkstate
  4420. ends
  4421.  
  4422. state lizfleestate
  4423.     ifactioncount 2
  4424.     {
  4425.         ifcansee
  4426.         { sound CAPT_ATTACK shoot SHOTSPARK1 resetactioncount }
  4427.         else ai AILIZDODGE
  4428.     }
  4429. ends
  4430.  
  4431. state lizdodgestate
  4432.     ifp palive { ifcansee ai AILIZFLEENEMY } 
  4433.     else ai AILIZDODGE
  4434. ends
  4435.  
  4436. state lizthinkstate
  4437.     ifcount 128 { ifp palive ifcansee ai AILIZSHOOTENEMY }
  4438. ends
  4439.  
  4440. state lizshootstate
  4441.     ifactioncount 2
  4442.     {
  4443.         ifcansee
  4444.         {
  4445.         sound CAPT_ATTACK shoot SHOTSPARK1
  4446.         ifspritepal 12 { ifrnd 128 spawn SHARK }
  4447.         resetactioncount
  4448.         }
  4449.         else ai AILIZGETENEMY
  4450.     }
  4451. ends
  4452.  
  4453. state checklizhit
  4454.     spawn BLOOD
  4455.     ifai AILIZSHRUNK
  4456.         { addkills 1 sound SQUISHED state standard_jibs state delete_enemy }
  4457.     ifdead
  4458.     {
  4459.         ifwasweapon SHRINKSPARK { }
  4460.         addkills 1
  4461.  
  4462.         ifwasweapon RPG { sound SQUISHED state liz_body_jibs state standard_jibs state delete_enemy }
  4463.         else ifwasweapon RADIUSEXPLOSION { sound SQUISHED state liz_body_jibs state standard_jibs state delete_enemy }
  4464.         else { state rf ai AILIZDYING ifrnd 64 spawn BLOODPOOL }
  4465.         sound CAPT_DYING
  4466.     }
  4467.     else
  4468.     {
  4469.         sound CAPT_PAIN
  4470.         state random_wall_jibs
  4471.         ifp palive ifcansee { ai AILIZSHOOTENEMY break }
  4472.     }
  4473. ends
  4474.  
  4475. state lizjumpstate
  4476.     ifcount 128 { ifp palive ifcansee ai AILIZSHOOTENEMY }     
  4477. ends
  4478.  
  4479. state lizdyingstate
  4480.     ifaction ALIZLYINGDEAD
  4481.     {
  4482.         strength 0
  4483.         ifhitweapon ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_jibs state delete_enemy }
  4484.         ifcount RESPAWNACTORTIME ifrespawn
  4485.         {
  4486.             spawn TRANSPORTERSTAR cstat 257 strength LIZSTRENGTH ai AILIZGETENEMY
  4487.         }
  4488.     }
  4489.     else ifai AILIZDYING ifactioncount 6 { iffloordistl 8 sound THUD move LIZSTOP action ALIZLYINGDEAD }
  4490. ends
  4491.  
  4492. actor LIZMANSTAYPUT LIZSTRENGTH ai AILIZFLEENEMY cactor LIZMAN enda
  4493.  
  4494.  
  4495. action KOLIC1  1361   4   5   1   17
  4496. action KOLIC2  1361   1   5   1   1
  4497. action KOLIC3  1361   1   5   1   1
  4498. action KOLDIE  1381   5   1   1   18
  4499. action KOLPAIN 1381   1   1   1   10
  4500. action KOLDED  1386   1   1 
  4501. action KOLAMB  1387   1   5   1   1
  4502. action KOLAMB2 1392   1   5   1   1
  4503.  
  4504. move kolspeed 93
  4505. move koltopspeed 108
  4506. move kolstop 0 
  4507. move koljumpspeed 120 -95
  4508.  
  4509. ai AIKOLIC KOLIC1 kolspeed seekplayer 
  4510. ai AIKOLICHEAL KOLIC2 kolstop faceplayer
  4511. ai AIKOLSNIPE1 KOLIC2 kolstop faceplayer
  4512. ai AIKOLDYING KOLDIE kolstop faceplayer
  4513. ai AIKOLPAIN KOLPAIN kolstop faceplayer 
  4514. ai AIKOLSTAY KOLIC2 kolstop faceplayer
  4515. ai AIKOLJUMP KOLIC1 koljumpspeed faceplayer
  4516. ai AIKOLMINE KOLAMB2 kolstop faceplayer
  4517.  
  4518.  
  4519. ai AIKOLAMB1 KOLAMB kolstop faceplayersmart
  4520. ai AIKOLAMB2 KOLAMB kolstop faceplayersmart
  4521. ai AIKOLAMB3 KOLAMB kolstop faceplayersmart
  4522.  
  4523.  
  4524. ai AIKOLSHOOT KOLAMB kolstop faceplayersmart
  4525.  
  4526. ai AIKOLSHOOT2 KOLAMB2 kolstop faceplayer
  4527. ai AIKOLFLEE KOLIC1 koltopspeed dodgebullet
  4528.  
  4529. ai AIKOLFOLLOW KOLIC1 kolspeed faceplayer
  4530. ai AIKOLFOLLOWSTOP KOLIC2 kolstop faceplayer
  4531.  
  4532. state kil
  4533. {
  4534. ifcansee { ifpdistl 1700 { ai AIKOLICHEAL } } 
  4535. else { }
  4536. }
  4537. ends
  4538.  
  4539. state kilheal
  4540. ifpdistl 1000 { ifcount 20 { ifhitspace { quote 132 sound BOS1_ATTACK2 ai AIKOLFOLLOW } } }
  4541. else ifpdistg 1700 { ai AIKOLIC }
  4542. }
  4543. ends
  4544.  
  4545. state kils
  4546. sound PISTOL_FIRE shoot CHAINGUN shoot CHAINGUN
  4547. ends
  4548.  
  4549. state kildying  
  4550. ifactioncount 5 { action KOLDED 
  4551.                   ifrnd 128 { spawn AMMO }
  4552.                   ifrnd 32 { spawn RPGSPRITE }
  4553.                 }
  4554. }
  4555. ends
  4556.  
  4557. state kilpain  
  4558. {
  4559.         ifdead {
  4560.                 ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_pjibs killit break }
  4561.                 else ifwasweapon RPG { sound SQUISHED state standard_pjibs killit break }
  4562.                 else ai AIKOLDYING
  4563.                 }  
  4564.          else { sound BOS1_DYING } 
  4565. }
  4566. ends
  4567.  
  4568. state kilbullet
  4569.         {
  4570.         ifactioncount 55 ai AIKOLIC
  4571.         }
  4572. ends
  4573.  
  4574. state kilfollow
  4575.         { 
  4576.         ifpdistl 1700 { ifcansee { ai AIKOLFOLLOWSTOP } }
  4577.         else ifcount 40 { ifp phigher { ifpdistl 5000 { ai AIKOLJUMP } } }
  4578.         else ifcansee { } else { ifcount 325 { ai AIKOLIC } }
  4579.         else ifpdistg 7192 { ai AIKOLIC }
  4580.         }
  4581. ends
  4582.  
  4583. state kiljump
  4584.         {
  4585.         ifactioncount 4 ai AIKOLFOLLOW
  4586.         }
  4587. ends
  4588.  
  4589. state kilfollowstop
  4590. {
  4591. ifpdistl 1000
  4592.         { ifcount 32
  4593.                 { ifhitspace
  4594.                         { ifp pducking
  4595.                                 {
  4596.                                 sound OCTA_ATTACK1 quote 137
  4597.                                 ai AIKOLMINE
  4598.                                 }
  4599.  
  4600.                           else { quote 133 ifrnd 128 sound BOS1_PAIN else sound BOS1_ATTACK2 ai AIKOLSTAY }
  4601.                         } 
  4602.                 }
  4603.          }
  4604. else ifpdistg 1700 ai AIKOLFOLLOW 
  4605. }
  4606. ends
  4607.  
  4608. state kilstay
  4609. ifpdistl 1000 { ifcount 32 { ifhitspace { ifp pducking
  4610.                                 {       
  4611.                                 sound LASER1 quote 134
  4612.                                 ai AIKOLAMB2
  4613.                                 }
  4614. else  { quote 132 ifrnd 128 sound OCTA_ATTACK2 else sound LASER1 ai AIKOLFOLLOW }
  4615. } } } }
  4616. ends
  4617.  
  4618. state kilmine
  4619. ifcount 256 { ifp palive { ifcansee { ifpdistl 15000 { ai AIKOLSHOOT2 } } } }
  4620. ends 
  4621.  
  4622. state kilamb1
  4623. ifcount 256 { ifp palive { ifcansee { ifpdistl 8000 { ai AIKOLSHOOT } } } }
  4624. ends
  4625.  
  4626. state kilamb2
  4627. ifcount 256 { ifp palive { ifcansee { ifpdistl 17000 { ai AIKOLSHOOT } } } }
  4628. ends
  4629.  
  4630. state kilamb3
  4631. ifp palive { ifcansee { ai AIKOLSHOOT } } 
  4632. ends
  4633.  
  4634. state kilshoot
  4635. ifcount 6 
  4636.         { ifp palive 
  4637.                 { ifcansee 
  4638.                         { state kils resetcount } 
  4639.                   else ai AIKOLAMB3
  4640.                 } 
  4641.         }
  4642. ends
  4643.  
  4644. state kilshoot2
  4645. ifcount 16
  4646.         { ifp palive 
  4647.                 { ifcansee                        
  4648.                         { sound RPG_SHOOT shoot RPG ai AIKOLFLEE }                     
  4649.                 }
  4650.         }
  4651. ends
  4652.  
  4653. state kilflee
  4654. ifactioncount 70 ai AIKOLIC
  4655. ends
  4656.  
  4657. useractor notenemy GRUNT 85 KOLIC3 fall
  4658. sizeat 38 38 cstat 257
  4659. ifp ponsteroids { ifpdistl 1024 { state standard_pjibs killit } }
  4660. ifaction KOLIC3 ai AIKOLIC
  4661. else ifaction KOLDED
  4662.        {
  4663.         cstat 256 move 0 strength 0 ifhitweapon ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_jibs state delete_enemy } break
  4664.        }
  4665.  
  4666. else
  4667.         {
  4668.           ifai AIKOLIC state kil
  4669.           else ifai AIKOLICHEAL state kilheal
  4670.           else ifai AIKOLDYING state kildying
  4671.           else ifai AIKOLSTAY state kilstay
  4672.           else ifai AIKOLJUMP state kiljump
  4673.           else ifai AIKOLFOLLOW state kilfollow
  4674.           else ifai AIKOLFOLLOWSTOP state kilfollowstop
  4675.           else ifai AIKOLMINE state kilmine
  4676.           else ifai AIKOLAMB1 state kilamb1
  4677.           else ifai AIKOLAMB2 state kilamb2
  4678.           else ifai AIKOLAMB3 state kilamb3
  4679.           else ifai AIKOLSHOOT state kilshoot
  4680.           else ifai AIKOLSHOOT2 state kilshoot2
  4681.           else ifai AIKOLFLEE state kilflee
  4682.           ifinwater { ifrnd 4 { strength 0 state kildying } }
  4683.           ifhitweapon state kilpain
  4684.         }
  4685. enda
  4686.  
  4687. move vctankspeed 110
  4688. move vcattackspeed 170
  4689. move vctankstop 0
  4690.  
  4691. action VCTANK 0 1 5 1 1
  4692. action VCTANKSHOOT 5 1 5 1 1
  4693. action VCODOTUS 0 1 5 1 1
  4694.  
  4695. ai AITANKSEEK VCTANK vctankspeed seekplayer
  4696. ai AITANKAIM VCTANK vctankstop faceplayer
  4697. ai AITANKSHOOT VCTANKSHOOT vctankstop faceplayer
  4698. ai AITANKJYRAA VCTANK vcattackspeed faceplayer
  4699. ai AITANKHURT VCTANK vctankstop faceplayer
  4700. ai AITANKINSTASHOOT VCTANKSHOOT vctankstop faceplayer
  4701.  
  4702. state taseek
  4703. {
  4704.       ifcansee { ifp palive { ifpdistl 5000 ai AITANKJYRAA
  4705.                               else { ai AITANKINSTASHOOT resetcount } 
  4706.                }            }
  4707. }
  4708. ends
  4709.  
  4710.  
  4711. state tainsta
  4712. shoot RPG sound RECOILLESS resetcount ai AITANKAIM
  4713. ends
  4714.  
  4715. state taaim
  4716. {         ifcount 50 {   ifpdistl 5000 ai AITANKJYRAA
  4717.                         else ifcansee ai AITANKSHOOT
  4718.                         else ai AITANKSEEK }
  4719. }
  4720. ends
  4721.  
  4722. state tashoot
  4723. shoot RPG sound RECOILLESS resetcount ai AITANKAIM
  4724. ends
  4725.  
  4726. state tajyraa
  4727. {
  4728. ifp palive ifpdistl 1024 { shoot FIRELASER }
  4729. else ifpdistg 5000 ai AITANKSEEK
  4730. }
  4731. ends
  4732.  
  4733. state tdead
  4734. spawn SIRPALE spawn SIRPALE spawn SIRPALE spawn SIRPALE spawn SIRPALE
  4735. spawn EXPLOSION2
  4736. stopsound DUKE_HARTBEAT spawn DEADTANK debris SCRAP1 30 killit
  4737. ends
  4738.  
  4739.  
  4740. state tahurt
  4741. {
  4742. move 0
  4743. ifwasweapon RPG { state tdead }
  4744. ifdead { state tdead }
  4745. else { ifcansee { ifrnd 45 ai AITANKINSTASHOOT else ai AITANKAIM } else ai AITANKSEEK }
  4746. }
  4747. ends
  4748.  
  4749.  
  4750. actor LIZMANJUMP 800 VCODOTUS 100 fall
  4751. ifp ponsteroids { ifpdistl 1024 { state standard_pjibs killit } }
  4752. ifaction VCODOTUS ai AITANKSEEK
  4753. else {    ifai AITANKSEEK state taseek
  4754.           else ifai AITANKAIM state taaim
  4755.           else ifai AITANKSHOOT state tashoot
  4756.           else ifai AITANKJYRAA state tajyraa
  4757.           else ifai AITANKHURT state tahurt
  4758.           else ifai AITANKINSTASHOOT state tainsta
  4759.           ifhitweapon { move 0 ai AITANKHURT state vehiclehit }
  4760.           soundonce DUKE_HARTBEAT
  4761.       }
  4762. enda
  4763.  
  4764. actor LIZMAN LIZSTRENGTH fall
  4765.     state checksquished
  4766.     ifp ponsteroids { ifpdistl 1024 { state standard_pjibs sound SQUISHED state delete_enemy } } 
  4767.     ifai 0 ai AILIZGETENEMY
  4768.     else ifaction ALIZLYINGDEAD { fall state lizdyingstate break }
  4769.     else ifai AILIZJUMPENEMY state lizjumpstate
  4770.     else
  4771.     {
  4772.         fall
  4773.         ifai AILIZGETENEMY state lizseekstate
  4774.         else ifai AILIZCHARGEENEMY state lizseekstate
  4775.         else ifai AILIZDODGE state lizdodgestate
  4776.         else ifai AILIZSHOOTENEMY state lizshootstate
  4777.         else ifai AILIZFLEENEMY state lizfleestate
  4778.         else ifai AILIZSHRUNK state lizshrunkstate
  4779.         else ifai AILIZDYING state lizdyingstate
  4780.         else ifai AILIZSPIT
  4781.             { ifcount 26 ai AILIZGETENEMY else ifcount 18 { } }
  4782.     }
  4783.  
  4784.     ifai AILIZSHRUNK break
  4785.     ifhitweapon { ifrnd 70 { addstrength -56 }
  4786.                    state checklizhit
  4787.                 }
  4788. enda
  4789.  
  4790.  
  4791. // blue_main_flag
  4792. action BLUEFLAG 61 4 1 1 10
  4793. useractor notenemy BLUEMAINFLAG 0 BLUEFLAG
  4794.     {
  4795.     sizeat 65 65 
  4796.     spritepal 1
  4797.     fall
  4798.     cstat 256
  4799.     ifpinventory GET_SCUBA 70 { } else { ifp palive ifcount 6 ifpdistl 1300
  4800.         {
  4801.         quote 142
  4802.         addinventory GET_SCUBA 75
  4803.         killit
  4804.         }                               }
  4805.  
  4806.                                             
  4807.  
  4808.  
  4809.     ifpinventory GET_SCUBA 64 { } else { ifp palive ifcount 6 ifpdistl 20000
  4810.         { killit }                     }
  4811. }
  4812. enda
  4813.  
  4814.  
  4815. // red_main_flag
  4816. action REDFLAG 62 4 1 1 10
  4817. useractor notenemy REDMAINFLAG 0 REDFLAG
  4818.     {
  4819.     sizeat 65 65 
  4820.     fall
  4821.     cstat 256
  4822.     ifpinventory GET_SCUBA 60 { } else { ifp palive ifcount 6 ifpdistl 1300
  4823.      {
  4824.         quote 142
  4825.         addinventory GET_SCUBA 65
  4826.         killit 
  4827.         }                               }
  4828.                                         
  4829.  
  4830.     ifpinventory GET_SCUBA 74 { } else { ifp palive ifcount 6 ifpdistl 20000
  4831.         { killit }                     }
  4832.  
  4833.      }
  4834. enda
  4835.  
  4836. action APIGWALK         0  4 5 1 20
  4837. action APIGRUN          0  4 5 1 11
  4838. action APIGSHOOT        30 2 5 1 35
  4839. action APIGCOCK         30 2 5 1 35
  4840. action APIGSTAND        30 1 5 1 1
  4841. action APIGDIVE         20 1 5 1 1
  4842. action APIGDIVESHOOT    20 2 5 1 35
  4843. action APIGDYING        55 5 1 1 15
  4844. action APIGHIT          55 1 1 1 10
  4845. action APIGDEAD         60 1 1 1 1
  4846. action APIGFROZEN        0 1 5
  4847.  
  4848. move PIGWALKVELS 72
  4849. move PIGRUNVELS 108
  4850. move PIGSTOPPED
  4851.  
  4852. ai AIPIGSEEKENEMY APIGWALK PIGWALKVELS seekplayer
  4853. ai AIPIGSHOOTENEMY APIGSHOOT PIGSTOPPED faceplayer
  4854. ai AIPIGFLEEENEMY APIGWALK PIGWALKVELS fleeenemy
  4855. ai AIPIGSHOOT APIGSHOOT PIGSTOPPED faceplayer
  4856. ai AIPIGDODGE APIGRUN PIGRUNVELS dodgebullet
  4857. ai AIPIGCHARGE APIGRUN PIGRUNVELS seekplayer
  4858. ai AIPIGDIVING APIGDIVE PIGSTOPPED faceplayer
  4859. ai AIPIGDYING APIGDYING PIGSTOPPED faceplayer
  4860. ai AIPIGSHRINK APIGWALK SHRUNKVELS fleeenemy
  4861. ai AIPIGHIT APIGHIT PIGSTOPPED faceplayer
  4862.  
  4863. state pigseekenemystate
  4864.  
  4865.     ifai AIPIGCHARGE
  4866.     {
  4867.         ifcansee ifpdistl 10000
  4868.         {
  4869.             ifnotmoving ai AIPIGSEEKENEMY
  4870.             else ai AIPIGDIVING
  4871.         }
  4872.         break
  4873.     }
  4874.     else iffloordistl 32
  4875.     {
  4876.         ifpdistg 10000 { ifactornotstayput ai AIPIGCHARGE }
  4877.         ifrnd 8 { ifbulletnear ai AIPIGDODGE }
  4878.     }
  4879.  
  4880.     ifrnd 128 ifcansee
  4881.     {
  4882.         ifai AIPIGDODGE { ifcount 32 ai AIPIGCHARGE break }
  4883.         iffloordistl 32
  4884.         {
  4885.             ifp palive ifcanshoottarget
  4886.                 { ai AIPIGSHOOTENEMY break }
  4887.             ifcount 24 { ifp palive ifcanshoottarget { ai AIPIGSHOOTENEMY else ai AIPIGDIVING break } }
  4888.         }
  4889.     }
  4890. ends
  4891.  
  4892.  
  4893. state pigshootenemystate
  4894.     {
  4895.         ifspritepal 11 { ifpdistg 4096 { ifpdistl 8192 { ifrnd 1 { spawn SHARK } } } }
  4896.  
  4897.         ifcount 12 { } else ifcount 11
  4898.         {
  4899.             ifcanshoottarget { ifrnd 85 sound AK47 else ifrnd 85 sound LIZARD_BEG else sound PRED_ATTACK shoot SHOTSPARK1 }
  4900.             else ai AIPIGSEEKENEMY
  4901.         }
  4902.         ifcount 25 { } else ifcount 24 { ifrnd 85 sound AK47 else ifrnd 85 sound LIZARD_BEG else sound PRED_ATTACK shoot SHOTSPARK1 }
  4903.         ifcount 48 { } else ifcount 47
  4904.         {
  4905.             ifcanshoottarget { ifrnd 85 sound AK47 else ifrnd 85 sound LIZARD_BEG else sound PRED_ATTACK shoot SHOTSPARK1 }
  4906.             else ai AIPIGSEEKENEMY
  4907.         }
  4908.         ifcount 60 { } else ifcount 59 { ifrnd 85 sound AK47 else ifrnd 85 sound LIZARD_BEG else sound PRED_ATTACK shoot SHOTSPARK1 }
  4909.         ifcount 72
  4910.         {
  4911.             ifrnd 64 resetcount
  4912.             else
  4913.             {
  4914.                 ifpdistl 768 ai AIPIGFLEEENEMY
  4915.                 else ai AIPIGSEEKENEMY
  4916.             }
  4917.         }
  4918.         ifaction APIGCOCK ifactioncount 2 action APIGSHOOT
  4919.     }
  4920.     else ai AIPIGSEEKENEMY
  4921. ends
  4922.  
  4923. state pigfleeenemystate
  4924.     ifactioncount 8 ai AIPIGSEEKENEMY
  4925.     else ifnotmoving ai AIPIGSEEKENEMY
  4926. ends
  4927.  
  4928. state pigdivestate
  4929.     ifaction APIGDIVESHOOT
  4930.     {
  4931.         ifcansee
  4932.         {
  4933.             ifcount 12 { } else ifcount 11
  4934.             {
  4935.                 ifcanshoottarget { ifrnd 85 sound AK47 else ifrnd 85 sound LIZARD_BEG else sound PRED_ATTACK shoot SHOTSPARK1 }
  4936.                 else ai AIPIGSEEKENEMY
  4937.             }
  4938.             ifcount 25 { } else ifcount 24 { ifrnd 85 sound AK47 else ifrnd 85 sound LIZARD_BEG else sound PRED_ATTACK shoot SHOTSPARK1 }
  4939.             ifcount 48 { } else ifcount 47
  4940.             {
  4941.                 ifcanshoottarget { ifrnd 85 sound AK47 else ifrnd 85 sound LIZARD_BEG else sound PRED_ATTACK shoot SHOTSPARK1 }
  4942.                 else ai AIPIGSEEKENEMY
  4943.             }
  4944.             ifcount 60 { } else ifcount 59
  4945.             {
  4946.                 ifrnd 85 sound AK47 else ifrnd 85 sound LIZARD_BEG else sound PRED_ATTACK
  4947.                 ifgapzl 32 ai AIPIGDIVING
  4948.                 else
  4949.                 {
  4950.                     ifpdistl 4096 ai AIPIGFLEEENEMY
  4951.                     else ai AIPIGSEEKENEMY
  4952.                 }
  4953.             }
  4954.         }
  4955.         else ifgapzl 32 ai AIPIGDIVING else ai AIPIGSEEKENEMY
  4956.     }
  4957.     else ifactioncount 2 ifp palive { resetcount action APIGDIVESHOOT }
  4958. ends
  4959.  
  4960. state checkpighitstate
  4961.     spawn BLOOD
  4962.     ifdead
  4963.     {
  4964.         ifspritepal 10 { endofgame 52 state standard_jibs killit break }
  4965.         state random_wall_jibs
  4966.         ifwasweapon SHRINKSPARK { }
  4967.  
  4968.         addkills 1
  4969.         ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_jibs state delete_enemy }
  4970.         else ifwasweapon RPG { sound SQUISHED state standard_jibs state delete_enemy }
  4971.         ai AIPIGDYING sound PIG_DYING
  4972.     }
  4973.     else
  4974.     {
  4975.         sound PIG_PAIN
  4976.         state random_wall_jibs
  4977.     }
  4978. ends
  4979.  
  4980. state pigshrinkstate
  4981. ends
  4982.  
  4983. state pigdyingstate
  4984.     ifactioncount 5 { ifrnd 64 spawn BLOODPOOL state rf iffloordistl 8 sound THUD action APIGDEAD move PIGSTOPPED ifspritepal 10 { endofgame 52 } break }
  4985. ends
  4986.  
  4987. useractor notenemy DEADVC
  4988. sizeat 48 48 
  4989. state handle_dead_dukes
  4990. enda
  4991.  
  4992. actor PIGCOPSTAYPUT PIGCOPSTRENGTH ai AIPIGSEEKENEMY cactor PIGCOP enda
  4993. actor PIGCOP PIGCOPSTRENGTH APIGSTAND fall
  4994.     fall
  4995.     state checksquished
  4996.     ifp ponsteroids { ifpdistl 1024 { state standard_pjibs sound SQUISHED state delete_enemy } }
  4997.     ifaction APIGSTAND ai AIPIGSEEKENEMY
  4998.     else ifaction APIGDEAD
  4999.     {
  5000.     strength 0 ifhitweapon ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_jibs state delete_enemy break }
  5001.     }
  5002.  
  5003.     else ifai AIPIGDYING state pigdyingstate
  5004.     else ifai AIPIGHIT { ifactioncount 3 ai AIPIGSEEKENEMY }
  5005.     else
  5006.     {
  5007.         ifai AIPIGSEEKENEMY state pigseekenemystate
  5008.         else ifai AIPIGDODGE state pigseekenemystate
  5009.         else ifai AIPIGSHOOTENEMY state pigshootenemystate
  5010.         else ifai AIPIGFLEEENEMY state pigfleeenemystate
  5011.         else ifai AIPIGDIVING state pigdivestate
  5012.         else ifai AIPIGCHARGE state pigseekenemystate
  5013.         ifhitweapon { ifrnd 70 { addstrength -56 }
  5014.                       state checkpighitstate
  5015.                     }
  5016.         ifrnd 1
  5017.                 { ifrnd 96
  5018.                         {
  5019.                         ifrnd 43 soundonce PIG_ROAM
  5020.                         else ifrnd 43 soundonce VCAMB1
  5021.                         else ifrnd 43 soundonce VCAMB2
  5022.                         else ifrnd 43 soundonce PIG_ROAM2
  5023.                         else ifrnd 43 soundonce RECOG33
  5024.                         else soundonce PIG_ROAM3
  5025.                         } 
  5026.                 }
  5027.     }
  5028. enda
  5029.  
  5030. useractor notenemy ENSPA   
  5031. {         
  5032.         cstat 32768
  5033.         ifcount 650
  5034.         { 
  5035.           ifrnd 17 { ifrnd 80 spawn PIGCOP }
  5036.           else ifrnd 17 { ifrnd 80 spawn LIZMAN }
  5037.           else ifrnd 17 { ifrnd 80 spawn LIZTROOP }
  5038.           else ifrnd 17 { ifrnd 80 spawn PIGCOP spawn PIGCOP } 
  5039.           else ifrnd 17 { ifrnd 80 spawn PIGCOP spawn LIZMAN }
  5040.           ifcount 650 resetcount        
  5041.         }
  5042. }
  5043. enda
  5044.  
  5045. action DRONE2 0 4 1 1 10
  5046.  
  5047. useractor notenemy BEASTFLAG 0 DRONE2
  5048. {
  5049.     sizeat 48 48 
  5050.     spritepal 8
  5051.     fall
  5052.  
  5053.     ifpinventory GET_SCUBA 70 { } else 
  5054.     { 
  5055.     ifp palive ifcount 6 ifpdistl 1300  
  5056.         {
  5057.         quote 143
  5058.         addinventory GET_SCUBA 10
  5059.         killit
  5060.         }
  5061.     }
  5062.     
  5063.     ifpinventory GET_SCUBA 60 { } else 
  5064.     { 
  5065.     ifp palive ifcount 6 ifpdistl 1300  
  5066.         {
  5067.         quote 143
  5068.         addinventory GET_SCUBA 10
  5069.         killit
  5070.         }
  5071.     }
  5072.  
  5073.     ifpinventory GET_SCUBA 0 { } else 
  5074.     { 
  5075.     ifp palive ifcount 6 ifpdistl 1300  
  5076.         {
  5077.         quote 143
  5078.         addinventory GET_SCUBA 10
  5079.         killit
  5080.         }
  5081.     }
  5082. }
  5083.  
  5084. enda
  5085.  
  5086.  
  5087. action ASATSPIN   60 3 5 1 40
  5088. action ASATSHOOTING -10 3 5 1 40
  5089. action ASATWAIT 0 1 5 1 1
  5090. move turrvel
  5091.  
  5092. actor ROTATEGUN ROTTURRETSTRENGTH ASATWAIT faceplayersmart
  5093. {
  5094. fall
  5095. ifp ponsteroids { ifpdistl 1024 { state standard_pjibs sound SQUISHED state delete_enemy } }
  5096.  
  5097.     ifaction 0
  5098.     {
  5099.         action ASATWAIT
  5100.         move turrvel faceplayersmart
  5101.     }
  5102.     else ifaction ASATSPIN
  5103.     {    
  5104.         { action ASATSHOOTING move turrvel faceplayersmart  }
  5105.         
  5106.     }
  5107.     else ifaction ASATSHOOTING
  5108.     {
  5109.         ifcount 4 { sound RECOILLESS shoot RPG action ASATWAIT }   
  5110.         else ifcount 15 { ifpdistg 3000 { ifrnd 128 action ASATWAIT } }
  5111.         else ifcount 60 resetcount 
  5112.         else action ASATSHOOTING
  5113.     }                                                                                                    
  5114.     else ifaction ASATWAIT
  5115.     { 
  5116.     ifcount 65 { ifrnd 20 { ifp palive { ifcansee { action ASATSPIN } } } }
  5117.     else ifcount 20 { ifp palive { ifcansee { ifpdistl 3000 action ASATSPIN } } }
  5118.     else action ASATWAIT
  5119.     }
  5120.     
  5121.     ifhitweapon 
  5122.     { ifdead 
  5123.          { 
  5124.             ifwasweapon RADIUSEXPLOSION { sound SQUISHED state standard_jibs state delete_enemy break } 
  5125.             else ifwasweapon RPG { sound SQUISHED state standard_jibs state delete_enemy break }            
  5126.             else { sound PIG_DYING debris SCRAP6 14 debris SCRAP2 14 state standard_jibs spawn EXPLOSION2 state delete_enemy break }
  5127.          }    
  5128.            else { sound PIG_PAIN spawn BLOOD action ASATWAIT move 0 }
  5129.     }
  5130.  
  5131. }
  5132. enda
  5133.  
  5134. useractor notenemy FEM9    
  5135.         cstat 32768
  5136.         sizeat 48 48 
  5137.         ifcount 750
  5138.         { 
  5139.           ifrnd 45 { ifrnd 128 spawn GRUNT }
  5140.           else ifrnd 45 { ifrnd 128 spawn MEDIC }
  5141.           else ifrnd 45 { ifrnd 128 spawn DEMOMAN }
  5142.           else ifrnd 45 { ifrnd 128 spawn RADIOMAN }
  5143.           ifcount 750 resetcount
  5144.           
  5145.         }
  5146. enda
  5147.  
  5148.  
  5149.